WO2024220239A1 - Decoding touch data based on a code word portion - Google Patents

Decoding touch data based on a code word portion Download PDF

Info

Publication number
WO2024220239A1
WO2024220239A1 PCT/US2024/022717 US2024022717W WO2024220239A1 WO 2024220239 A1 WO2024220239 A1 WO 2024220239A1 US 2024022717 W US2024022717 W US 2024022717W WO 2024220239 A1 WO2024220239 A1 WO 2024220239A1
Authority
WO
WIPO (PCT)
Prior art keywords
code words
respective ones
electrodes
transmit
subset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2024/022717
Other languages
French (fr)
Inventor
Axel Heim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US18/429,684 external-priority patent/US20240353946A1/en
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Priority to CN202480023879.3A priority Critical patent/CN120917412A/en
Priority to KR1020257033480A priority patent/KR20250171299A/en
Priority to DE112024001814.9T priority patent/DE112024001814T5/en
Publication of WO2024220239A1 publication Critical patent/WO2024220239A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0446Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a grid-like structure of electrodes in at least two directions, e.g. using row and column electrodes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means

Definitions

  • the present disclosure relates to code-division multiplexing in capacitive touch sensing devices, in particular, decoding code-division multiplexed receive data based on code word portions to estimate a touch position in a capacitive touch sensing device.
  • Code-Division Multiplexing is a spread spectrum technique which allows multiple usage of the same channel.
  • a respective signal is given a code word.
  • Signal data is available on a shared channel.
  • a respective signal has a unique code word assigned to it called a chip sequence or orthogonal sequence, because the code words comprise symbols or “chips.” Knowing the code words, the receiver can distinguish the different signals.
  • the code words are comprised of +1 or - 1.
  • Respective code words have L chips, where L also is the maximum number of orthogonal signals. Two code words are orthogonal when their dot product yields zero (0). The dot product of only the first elements of such two code words usually is non-zero. That is, code word portions often are non-orthogonal to each other.
  • Such applications include capacitive touch sensing applications, which have relatively fast output report rates.
  • Capacitive touch sensing devices comprise sensor electrodes functioning as antenna that are often formed in layers of conductive material, e.g. stripes of copper of printed circuit board layer (PCB). These electrodes are electrically connected to a touch detection unit, for example, on the same PCB to form a compact unit.
  • the touch detection unit's measurement value depends on die position of a target object (finger/hand) in the sensor electrode's vicinity which influences the capacitive coupling between electrode and target, yielding a target measurement signal depending on the distortion of the alternating electric field.
  • Touch sensing technology for 2-dimensional touch detection often uses a signal deviation matrix over Tx-Rx nodes (i.e., in (x,y)) to identify positions being touched by a user’s finger, for example.
  • the code words of the Tx electrodes (m) are transmitted, receive signals of Rx electrodes (n) are received, and the information for electrode nodes (n,m) are decoded.
  • decoding is possible only after receiving the receive signal in full, i.e., when containing information from the entire transmitted code words. For some touch screen applications, however, it is of interest to obtain an estimate (of the transmitted information, or complex channel gain) before the receive signals are received in full and processed.
  • a code-division multiplexing touch sensing scheme using a spread-spectrum technique that estimates touch positions prior to receipt of the full receive signals.
  • An aspect provides a method comprising: providing a capacitive touch sensing system comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receiver electrodes at electrode intersections called nodes, wherein the capacitance at respective ones of nodes deviates when touched; identifying a first and a second subset of transmit electrodes based on a prior touch position estimate; assigning code words from a first subset of code words to respective ones of transmit electrodes of the first set of transmit electrodes, wherein respective ones of code words are a complete code word having a first code word portion and a second code word portion; assigning code words from a second subset of code words to respective ones of transmit electrodes of the second set of transmit electrodes, wherein respective ones of code words are a complete code word having a first code word portion and a second code word portion; generating a transmit signal for respective ones of transmit electrodes according to its assigned code word; transmitting the transmit signals; receiving a first portion of a receive signal, for respective ones of receive electrodes
  • An aspect provides a method as in the preceding paragraph, comprising: receiving a second portion of receive signal for respective ones of receive electrodes; decoding the complete receive signal for respective ones of receive electrodes using the complete code words; computing a touch position estimate for the set of transmit electrodes based on the decoded complete receive signals; and serially and alternatingly decoding the first portion of the receive signal and decoding the complete receive signal.
  • An aspect provides the method as in any one of the two preceding paragraphs, comprising default assigning respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes and default assigning respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes, wherein code words comprise unique numbers, wherein transmit electrodes are numbered uniquely, and wherein the default assigning comprises assigning the code word with the lowest number to the lowest numbered transmit electrode, and assigning the code word with the second lowest number to the second lowest numbered transmit electrode.
  • An aspect provides the method as in any one of the three preceding paragraphs, comprising repeating the performing a touch position estimate.
  • assigning respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes comprises: adaptive assigning respective ones of code words from the first subset of code words to transmit electrodes identified as having been touched or identified as assumed to have been touched based on the prior touch position estimate
  • assigning respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes comprises: adaptive assigning respective ones of code words from the second subset of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate.
  • assigning respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes comprises: adaptive assigning respective ones of code words from the second subset of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate, and wherein assigning respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes comprises: adaptive assigning respective ones of code words from the first subset of code words to remaining unassigned transmit electrodes.
  • An aspect provides the method as in any one of the six preceding paragraphs, wherein respective ones of the code words comprise binary sequences having 2*K chips of a Hadamard matrix where K is an integer, wherein the code word portions of respective ones of the code words comprise K chips.
  • a system comprising: a capacitive touch sensing system comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receive electrodes at electrode intersections called nodes, wherein the capacitance at respective ones of nodes deviates when touched; a processor; and a machine readable storage medium storing instructions, which when executed by the processor, cause the system to: identify a first and a second subset of transmit electrodes based on a prior touch position estimate; assign code words from a first subset of code words to respective ones of transmit electrodes of the first set of transmit electrodes, wherein respective ones of code words are a complete code word having a first code word portion and a second code word portion; assign code words from a second subset of code words to respective ones of transmit electrodes of the second set of transmit electrodes, wherein respective ones of code words are a complete code word having a first code word portion and a second code word portion;; generate a transmit signal for respective ones of transmit electrodes of the first
  • An aspect provides the system as in the preceding paragraph, wherein the instructions, which when executed by the processor, cause the system to: receive a second portion of receive signal for respective ones of receive electrodes; decode the complete receive signal for respective ones of receive electrodes using the complete code words; compute touch position estimates for the set of transmit electrodes based on the decoded complete receive signals; and serially and alternatingly decode the first portion of the receive signal and decode the complete receive signal.
  • An aspect provides the system as in any one of the two preceding paragraphs, wherein the instructions, which when executed by the processor, cause the system to default assign respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes and default assign respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes, wherein code words comprise unique numbers, wherein transmit electrodes are numbered uniquely, and wherein the default assigning comprises assigning the code word with the lowest number to the lowest numbered transmit electrode, and assigning the code word with the second lowest number to the second lowest numbered transmit electrode.
  • An aspect provides the system as in any one of the three preceding paragraphs, wherein the instructions, which when executed by the processor, cause the system to repeatedly perform a touch position estimate.
  • An aspect provides the system as in any one of the four preceding paragraphs, wherein the instructions, which when executed by the processor, cause the system to: adaptively assign respective ones of code words to transmit electrodes identified as having been touched or identified as assumed to have been touched based on the prior touch position estimate, and adaptively assign respective ones of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate.
  • assign respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes comprises: adaptive assign respective ones of code words from the second subset of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate.
  • assign respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes comprises: adaptive assign respective ones of code words from the first subset of code words to remaining unassigned transmit electrodes.
  • An aspect provides the system as in any one of the seven preceding paragraphs, wherein respective ones of the code words comprise binary sequences having 2*K chips of a Hadamard matrix where K is an integer, wherein the code word portions of respective ones of the code words comprise K chips.
  • the figures illustrate examples of systems and methods of capacitive touch sensing using code-division multiplexing.
  • FIGURE 1 shows a sensor layout with ten receive electrodes RXO, . . . , Rx9 and sixteen transmit electrodes TxO, ... , Txl5.
  • FIGURE 2A shows a touch surface and time axis, illustrating a single finger touch on the electrode crossing of Tx3, Rx3 with a constant position over time.
  • FIGURE 2B shows a default code-word-to-TX (S2T) mapping for the touch surface and single finger touch shown in FIGURE 2A.
  • FIGURE 2C shows the code-word-to-Tx mapping as shown in FIGURE 2B while illustrating the code words’ chip values.
  • FIGURE 2D shows the code-word-to-Tx mapping and chip values as shown in FIGURE 2C highlighting the construction of a default code-word-to-Tx mapping matrix, wherein a Hadamard matrix consists of four quadrants with smaller Hadamard matrices.
  • FIGURE 3 A shows a touch surface and time axis, illustrating a two-finger touch with constant finger positions over time.
  • FIGURE 3B shows the code-word-to-Tx mapping as shown in FIGURE 2B yielding ambiguous detection after eight chips for the touch surface shown in FIGURE 3 A.
  • FIGURE 3C shows an adapted assignment or mapping of code words to the transmit electrodes of FIGURES 3A-3B.
  • FIGURE 4 A shows a touch surface and time axis, illustrating a two-finger touch on Tx0-Tx7 with touch positions constant over time.
  • FIGURE 4B shows the code-word-to-Tx mapping as shown in FIGURE 2B yielding un-ambiguous detection after eight chips, for the touch surface shown in FIGURE 4A.
  • FIGURE 5 A shows a touch surface and time axis, illustrating a three-finger touch with constant positions over time.
  • FIGURE 5B shows an adapted code-word-to-TX (S2T) mapping yielding unambiguous detection after eight chips for the touch surface shown in FIGURE 5 A, wherein the adapted mapping is different than a default mapping and may be based on a prior touch estimation.
  • S2T code-word-to-TX
  • FIGURE 6 shows a timeline where altematingly transmissions 100% and 50% of codedivision multiple access data.
  • the 50% of code-division multiple access data is based on code word portions or an incomplete set of code words to estimate a signal deviation matrix of a capacitive touch sensing system.
  • FIGURE 7 shows a block diagram of a system having a capacitive touch sensing system, a processor and a storage medium.
  • FIGURE 8 shows a method comprising assigning code words to transmit electrodes, decoding received signals with code words, and estimating a current touch position.
  • Code-division multiplexing (CDM) touch sensing schemes implementing a spread-spectrum technique to decode partial CDM receive data based on parts of code words to estimate touch positions before the receive signals for the entire multiplexed code words are received and decoded with a complete code word or a complete set of code words.
  • Code word portions of respective ones of the code words may be compiled into a Hadamard matrix, wherein respective ones of code word portions comprise respective ones of rows of the Hadamard matrix.
  • a subset of a set of orthogonal code words may be assigned to the touched Tx electrodes.
  • the code words in the subset assigned to the touched Tx electrodes begin with sub-code words orthogonal to each other.
  • de- spreading and unambiguous touch detection may happen after receiving data for the sub-code words orthogonal to each other in the subset assigned to the touched Tx electrodes, without waiting until the full code words of data has been received.
  • FIGURE 1 shows a schematic view of a mutual-capacitance touch detection system.
  • This touch detection system comprises a set of parallel transmit electrodes and a set of parallel receive electrodes positioned orthogonal to the set of parallel transmit electrodes in a two- dimensional (x,y) plane.
  • a Tx-Rx electrode intersection, crossing, or ‘node’ is located at the intersection of a transmit electrode and a receive electrode.
  • FIGURE 1 shows a mutualcapacitance touch detection system having a 16X10 array of Tx-Rx electrode nodes. In the touch detection system, measurement values change for a node when a finger is touching a touch surface of this (x,y) plane at the node.
  • the measurement value for a Tx-Rx electrode node is dominated by the mutual-capacitance between the respective electrodes, which is affected by a finger touching this node.
  • the measurement value change of the node is a signal deviation because the capacitance at the node changes when the node is touched.
  • touching is not meant to be limited to physical contact, and is meant to include proximity sufficient to cause significant change of the capacitance at the node which can be detected as a signal deviation.
  • a receive signal may be observed for respective ones of the receive electrodes, wherein the receive signal is indicative of the respective capacitances between the receive electrode and respective ones of the transmit electrodes.
  • the transmit signals may be independently deciphered by assigning a complete code word (for example, a 16 chip binary code word) to respective ones of the transmit electrodes.
  • the assigned code words may be the rows of a size 16 Hadamard matrix.
  • the receive signal may be decoded to identify the transmit signal of respective ones of the transmit electrodes by its complete assigned code word.
  • the receive signals of respective ones of the receive electrodes may be separately decoded to identify the transmit signal of respective ones of the transmit electrodes (TxO through Txl5) by its complete assigned code word so that all transmit signals are deciphered to identify deviations of the transmit signals at nodes being “touched.”
  • a signal deviation matrix over the 16X10 array of Tx-Rx electrode nodes i.e., in (x,y)
  • Touch positions of the two-dimensional (x,y) plane may then be estimated for a point in time at which the receive signals are observed.
  • Patent Number 9,927,933 discloses a system having a gesture detection device with a plurality of input channels and an output channel which uses an alternating electric near field generated through at least one transmission electrode coupled with the output channel, wherein some of the input channels are coupled with receiving electrodes of the gesture detection device.
  • the entire disclosure of U.S. Patent Number 9,927,933 is incorporated herein by reference for all purposes.
  • Parts of a signal deviation matrix over the 16X10 array of Tx-Rx electrode nodes may also be derived in less time than it takes to transmit complete code words.
  • parts of a signal deviation matrix may be derived after receiving only eight chips of the receive signal, before receiving all sixteen chips of the receive signals containing complete code words.
  • a subset, Tsubset, of transmit electrodes are identified whose signals are affected by fingers touching at any receive electrode (signal deviation) at a previous point in time.
  • FIGURE 2C Eight transmit electrodes, including those identified as being affected by fingers at the previous point in time, are assigned respective ones of the first eight rows of the size sixteen Hadamard matrix H 16 in FIGURE 2C as respective code words, where Hadamard matrix Hl 6 in FIGURE 2C is constructed from four Hadamard matrices H8 as shown in FIGURE 2D and as explained further below. While FIGURES 2B-2D show a default assignment of code words, an adapted code-word-to-TX-electrode mapping may be based on the prior touch estimate so that the subset, Tsubset, of transmit electrodes being touched may be reassigned the first eight code words (first eight rows of the size 16 Hadamard matrix Hie).
  • the remaining eight rows of the size 16 Hadamard matrix H 16 are assigned to the remaining transmit electrodes outside the subset of transmit electrodes Tsubset, i.e. the transmit electrodes not being touched.
  • the transmission system is then run to transmit the transmit signals, i.e., code words, for all sixteen transmit electrodes.
  • the detection system After reception of the first eight chips of the receive signal, the detection system performs the CDM de-spreading operation with the size eight Hadamard matrix H 8 to derive a partial signal deviation matrix over the 16X10 array of Tx-Rx electrode nodes (i.e., in (x,y)).
  • This estimate may be called a 50% estimate because it is based on code word portions that are 50% of the complete code words (eight chips of the complete sixteen chips) in an Hs Hadamard matrix, and the signal deviation matrix can only be computed and updated for the transmit electrodes in Tsubset - the rest of the signal deviation matrix is assumed to be unchanged compared to a previous, 100% (full) estimate.
  • the receiving signal comprises both a first portion of the code words (first eight chips) and a second portion of the code words (second eight chips) so that complete code words (sixteen chips) are received, and the complete receive signal may be decoded for the receive electrodes using the complete code words.
  • FIGURES 2A-2D illustrate providing a capacitive touch sensing system comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receive electrodes at electrode intersections called nodes (see FIGURE 1), wherein the capacitance at respective ones of nodes deviates when touched; and performing a touch position estimate by: identifying a first and a second subset of transmit electrodes based on a prior touch position estimate; assigning code words (default or adapted) from a first subset of code words to respective ones of transmit electrodes of the first set of transmit electrodes, wherein respective ones of code words from the first subset of code words are a complete code word having a first code word portion and a second code word portion; assigning code words (default or adapted) from a second subset of code words to respective ones of transmit electrodes of the second set of transmit electrodes, wherein respective ones of code words from the second subset of code words are a complete code word having a first code word portion and a second code word portion; generating
  • a signal deviation matrix over the 16X10 array of Tx-Rx electrode nodes may further be derived after reception of all sixteen chips.
  • the detection system performs the de-spreading operation with the full size sixteen Hadamard matrix H 16 using the complete code words for all transmit electrodes.
  • the signal deviation matrix thereby obtained may be an estimate with improved signal-to-noise ratio (SNR) compared to the 50% estimate. This second estimate may be called a 100% estimate because it is based on the complete code words (sixteen chips) in a Hie Hadamard matrix.
  • Arrays of Tx-Rx electrode nodes may be of any size and any aspect ratio. Code words may take any form, in particular, they may be any spreading sequence. Chip values may take values other than +1 and -1, for example, +2 and -2. A Hadamard matrix or any other mathematical structure may be used to derive an estimated signal deviation matrix of an array of Tx-Rx electrode nodes.
  • a signal deviation matrix and detection system that makes alternating 50% and 100% report estimates may provide an increase of the report rate of the touch position estimates.
  • the report rate of the touch position estimates may be doubled by making estimates based on the first eight chips of the eight code words of the first group of transmit electrodes (50% estimate) in addition to making estimates based on the full sixteen chips of the sixteen code words of the combined first and second groups of transmit electrodes (100% estimate).
  • Estimates in any communication/sensing system, including an estimate computed after 100% of the data are available, may be wrong because estimates are based on assumptions, and prone to measurement noise and other variables.
  • report rates as high as 200Hz are desirable. By alternating between 50% estimates and 100% estimates, report rates as high as 200Hz may be obtained.
  • respective ones of the transmit electrodes are assigned a spreading sequence or code word from a set of orthogonal spreading sequences or code words.
  • default assigning or mapping means initial or original mapping of code words to transmit electrodes without using a prior touch estimate to inform the assignment or mapping.
  • adaptive assigning or mapping of code words means subsequently assigning or mapping code words to transmit electrodes based on a prior touch estimate.
  • An adapted mapping may map a first set of code words to any transmit electrodes estimated to have been touched or assumed to have been touched by a prior touch estimate.
  • FIGURE 2D shows a default code-word- to-TX (S2T) mapping of code words to the transmit electrodes, wherein the transmit electrodes are numbered TxO through Txl 5 from top to bottom.
  • C 16 denoted C 16 by Cg , is assigned to Tx m, m G ⁇ 0,1, ... ,15 ⁇ .
  • the decoding ('de-spreading’) of a receive sequence or code word when employing code words of length sixteen chips is completed after having received all sixteen chips of the code word.
  • the first eight received chips may be decoded using the size 8 Hadamard matrix H 8 , which may yield an ambiguous result because the same encoding size 8 Hadamard matrix H s is used for both the first subset Tsubset of transmit electrodes (TxO - Tx7) and the remaining transmit electrodes outside the subset Tsubset (Tx8 - Txl5).
  • Ambiguous results are described more fully below.
  • FIGURE 2A shows a touch surface and time axis, illustrating a single finger touch (shown by a circle on the plane representing a touch surface) on the electrode crossing of Tx3, Rx3 with constant position over time (shown by a cylinder extending from the plane representing a touch surface).
  • FIGURE 2B shows a default code-word-to-TX (S2T) mapping for the touch surface and single finger touch shown in FIGURE 2A, wherein code words co through cis are assigned to transmit electrodes TxO through Txl5, respectively, and respective ones of the code words has sixteen chips.
  • S2T code-word-to-TX
  • Tx electrodes Tx8 - Txl5 may result in receive data ambiguous with receive data upon touches on Tx0-Tx7 after receipt of the first eight chips, because portions Co (8) - C? (8) of code words Co - C7 are the same as portions Co (8) - C? (8) of code words Cs - C15.
  • ambiguous means a detection system is unable to definitively determine a touch position between two or more possible positions because there are two or more code word portions that are identical.
  • the first eight chips of code words assigned to transmit electrodes Tx0-Tx7 are identical to the first eight chips of code words assigned to transmit electrodes Tx8- Txl5, so that the touch position is ambiguous based on encoding data solely of transmit electrodes Tx0-Tx7, because the touch position could be at either transmit electrodes Tx0-Tx7 or transmit electrodes Tx8-Txl5.
  • CDM is based on a set of orthogonal code words, for this example, the rows of Hadamard matrix are of size sixteen. Two code words are orthogonal when their dot product is zero (0). Two code words are substantially orthogonal when the code words comprise a dot product less than 0.1 times the code word length. Orthogonality means that touching Tx m does not affect measurement values for other Tx m,
  • a respective Tx is assigned a code word , for example, a binary sequence from Hl 6, where for the scalar product of two code words holds
  • the transmit vector of Tx electrode m is:
  • respective receive signal of receive electrode n is a weighted sum of the sixteen transmit signals, where the weight for a TX changes upon finger touch on this Tx.
  • the received vector of Rx electrode n is:
  • electrode node (n,m) The decoding of electrode node (n,m) is:
  • the code words for Tx8-Txl5 are identical to code words for Tx0-Tx7, which makes an ambiguity.
  • the ambiguity may be resolved by decoding after receiving all sixteen chips, because the full code words of length sixteen chips are orthogonal to each other.
  • An ambiguity may be avoided by assuming that at most Tx electrodes of the first set of Tx electrodes are being touched and the remaining TX electrodes outside the first set are not being touched, wherein this assumption may be based on a 100% estimate prior to the 50% estimate.
  • a single touch may cover more than one transmit electrode.
  • FIGURE 2D shows a diagram of the code words as shown in FIGURE 2C, wherein the set of orthogonal code words has rows of Hadamard matrix of size sixteen.
  • FIGURE 2D is highlighting the construction of a default code-word-to-Tx mapping matrix, wherein a Hadamard matrix consists of four quadrants with smaller Hadamard matrices.
  • the first eight chips of the code words for Tx8-Txl5 are identical to the first eight chips of the code words for Tx0-Tx7.
  • there is an ambiguity because a touch on Txl l is indistinguishable from a touch on Tx3 when only given the receive signal values for the first eight chips.
  • An ambiguity/interference may occur when touches are both on Tx0-Tx7 and Tx8-Txl5.
  • an interference can be excluded and an unambiguous measurement may be taken on Tx0-Tx7.
  • FIGURE 2D shows a construction method for Hadamard matrices, wherein the size sixteen Hadamard matrix Hie is recursively constructed, in four quadrants of the size sixteen Hadamard matrix, containing four copies of a size eight Hadamard matrix Hs, one in the bottom right quadrant being sign inverted, where the size eight Hadamard matrix Hs is a set of orthogonal rows eight chips long.
  • the size sixteen Hadamard matrix Hie is constructed from four copies of the size eight Hadamard matrix Hs.
  • the size eight Hadamard matrix Hs has orthogonal rows.
  • Tx #0-#7 and #8-#15 After eight Rx chips are received, there is ambiguity between touches on Tx #0-#7 and #8-#15 because the partial code words of Tx #0-#7 and #8-#15 are identical. For example, a touch on Tx #11 yields the same Rx signals as a touch on Tx #3. This ambiguity exists when there is a chance that there is a touch both on Tx #0-#7 and #8-#15. However, if it can be assumed there is no touch on Tx #8-#15, then a touch on Tx #0-#7 can be resolved unambiguously, or vice versa, even after receipt of only the first eight chips of the original code word’s sixteen chips.
  • FIGURE 3 A shows a touch surface and time axis, illustrating a two-finger touch — one touch on Tx electrode #3 (Tx3) and another touch on Tx electrode # 11 (Txl l).
  • FIGURE 3B shows a code-word-to-TX (S2T) mapping for the touch surface shown in FIGURE 3 A.
  • S2T code-word-to-TX
  • Code words of Tx8 - Txl5 may be ambiguous with code words of Tx0-Tx7 after receipt of the first eight chips, because the first eight chips of code words C0-C7 are identical to the first eight chips of code words Cs-Cis, see Figure 2D.
  • the ambiguity of FIGURE 3B may be resolved by decoding after receiving all sixteen chips, because the second eight chips of code words are not identical.
  • FIGURE 3C shows an adapted assignment or mapping of code words to transmit electrodes, which may preclude an ambiguity of the code words when decoding after receipt of the first eight chips.
  • code words C0-C3 are assigned to transmit electrodes Tx2-Tx5, respectively, and code words C4-C7 are assigned to transmit electrodes Txl0-Txl3, respectively.
  • code words C4-C7 are assigned to transmit electrodes Txl0-Txl3, respectively.
  • FIGURE 4 A shows a touch surface and time axis, illustrating a two-finger touch on Tx0-Tx7 — one touch on Tx electrode #2 (Tx2) and another touch on Tx electrode # 5 (Tx5).
  • FIGURE 4B shows a code-word-to-TX (S2T) mapping for the touch surface and single finger touch at the previous point in time shown in FIGURE 4A.
  • S2T code-word-to-TX
  • two-finger touches can be unambiguously resolved/detected after only eight receive chips when they are both located on Tx electrodes TxO - Tx7. Any number of touches on the area of Tx electrodes TxO - Tx7 can be resolved provided it is assumed that there is no touch on Tx electrodes Tx8 to Txl5. Code words for Tx8 - Txl5 may be ambiguous with code words for Tx0-Tx7 after receipt of the first eight chips because these code word portions are identical. If it has been previously estimated that there are no touches on Tx8 - Txl5, then the detection system may assume estimated touches, if any, will be on TxO - Tx7, i.e. not on Tx8 - Txl5.
  • FIGURE 5A shows a touch surface and time axis, illustrating two fingers covering Tx electrodes Tx2 to Tx6, and one finger covering Tx electrodes Tx9 to Txl 1.
  • FIGURE 5B shows an adapted code-word -to-TX (S2T) mapping, wherein code words are mapped as follows: CO— >Tx2; C HTx3; C2 ⁇ Tx4; C3 ⁇ Tx5; C4 ⁇ Tx6; C5 ⁇ Tx9; C6 ⁇ TxlO; and C7 ⁇ Txl l.
  • This adaptive mapping may yield un-ambiguous detection after eight chips for the touch surface and finger touch positions shown in FIGURE 5A.
  • One way to avoid an ambiguity is to confirm by a prior touch estimate that all of the touches are on transmit electrodes TxO - Tx7, so the current, touching finger(s) may be assumed to be located on transmit electrodes TxO - Tx7.
  • the ambiguity problem may be solved for finger touches on any Tx electrodes, provided that sufficiently many Tx electrodes remain untouched or, more precisely, the respective Tx-Rx channels may be assumed to yield zero signal deviation.
  • the first eight spreading sequences or code words in H 16 are adaptively assigned to the touched Tx electrodes.
  • the two fingers covering Tx electrodes Tx2 to Tx6 and one finger covering Tx electrodes Tx9 to Txl l shown in FIGURES 5A are adaptively assigned, respectively, to code words as shown in FIGURE 5B.
  • This is an adapted code-word-to-TX (S2T) assignment or mapping.
  • This assignment can be represented by multiplication of the code word matrix with a code-word-to- Tx mapping matrix E
  • multiplication of the code word matrix with a code-word-to-Tx mapping matrix f is f • H 16 with
  • sequences or code words may be spread by Sylvester’s construction.
  • For Hadamard matrices computed with Sylvester’s recursive construction with [1], latency may be further reduced.
  • the Hadamard matrix H 16 may be expressed as which implies that if at most four Tx electrodes are being touched, the first four rows of H 16 may be adaptively assigned to the Tx electrodes being touched, so that the signal may be effectively decoded after having received the first four chips.
  • the finger positioning can take place already after having received data for the first four chips. This process can be played down to a single touched electrode. Because the first eight spreading sequences or code words in H 16 are adaptively assigned to the touched Tx electrodes, there is no ambiguity.
  • FIGURE 6 shows a graph with an example of the measurement and finger position estimate update over time.
  • the system has alternatingly received 50% and 100% of the chips, for 50% and 100% estimates, respectively.
  • the data bar is shown as an outline rather than a solid bar.
  • the graph shows that the system received data for the first eight chips.
  • the graph shows that the system received 100% of the transmitted code words, implying that position estimate updates were computed for 100% of the transmit electrodes (“100% Tx”) by de-spreading the receive data with the code words from a full-sized Hadamard matrix, which also implies signal deviation estimates with improved SNR compared to the 50% Tx estimates where only the first halves of the full code words are employed. Also at 20 milliseconds, because there was information about finger touches available, an adapted code-word-to-Tx mapping is applied for the next measurement cycle, ensuring that all touched Tx electrodes have mapped code words from the set ⁇ c0, cl, ..., c7 ⁇ .
  • touch position estimate updates are computed for the Tx electrodes associated with code words cO, . . . , c7 using the receive data for the first eight transmitted chips and code words from the rows of Hadamard matrix H8.
  • touch position updates are computed for all sixteen Tx electrodes, and a new adapted code word to Tx map is prepared for the next measurement cycle. The graph shows these steps are repeated at 50 and 60 milliseconds, and again at 70 and 80 milliseconds. Report estimates may be provided by serially and alternatingly decoding the first portion of the receive signal (50%) and decoding the complete receive signal (100%). Thus, signal deviation matrices providing estimates of touch position(s) may be reported at more frequent time intervals.
  • a detection system that makes alternating 50% and 100% report estimates may provide an increase of the report rate of the touch position estimates.
  • an estimate of the touch position is decoded by the detection system on 10 millisecond intervals.
  • the detection system may estimate the touch position on 20 millisecond intervals.
  • Detections systems may make estimates of touch position(s) at 10 millisecond intervals, 5 millisecond intervals, 1 millisecond intervals, or any time interval greater than or equal to 1 millisecond. Detection systems may report estimates of touch position(s) at 50Hz, 100 Hz, 150 Hz, 200 Hz, or any report rate faster than or equal to 50 Hz. Signal deviation matrices providing estimates of touch position(s) may be reported at time intervals.
  • a first set of data may be transmitted to provide a 50% estimate
  • a second set of data may be transmitted to provide a 100% estimate
  • a third set of data may be transmitted to provide another 50% estimate, and so forth.
  • Subsequent estimates may be based on prior assumptions about the number of touching fingers and their positions.
  • An estimate at a point in time may be based on transmission of code word portions comprising 50% or more of the code words, respectively, for example the first eight chips of sixteen chip code words or any number of chips between eight and sixteen.
  • An estimate at another point in time may be based on transmission of code word portions comprising 50% or less of the code words, respectively, for example the first eight chips of sixteen chip code words or any number of chips between one and eight.
  • FIGURE 7 shows a block diagram of a system having a capacitive touch sensing system 702, a processor 704, and a storage medium 706.
  • the capacitive touch sensing system 702 may comprise transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receive electrodes at their intersections called nodes, wherein the capacitance at respective ones of nodes deviates when a node is touched.
  • the processor 704 may be a microcontroller.
  • the machine readable storage medium 706 storing instructions, which when executed by the processor, may cause the system to: assign a code word to respective ones of transmit electrodes of the set of transmit electrodes, wherein respective ones of code words is a complete code word having a first code word portion and a second code word portion; identify a first subset of transmit electrodes and their assigned code words based on a prior touch position estimate; identify a second subset of transmit electrodes and their assigned code words; generate a transmit signal for respective ones of transmit electrodes of the first subset of transmit electrodes according to its assigned code word; transmit the transmit signals; receive a first portion of a receive signal, for respective ones of receive electrodes, indicative of the respective capacitances between the receive electrode and respective ones of the transmit electrodes of the first subset of transmit electrodes; decode the first portion of the receive signal for respective ones of receive electrodes using the first portions of the first subset of code words; and compute touch position estimates for the first subset of transmit electrodes based on the decoded first portions of the receive signals.
  • FIGURE 8 shows a flow chart of method.
  • a capacitive touch sensing system is provided 802 comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receiver electrodes at node intersections, wherein the capacitance at respective ones of nodes deviates when touched.
  • a code word is assigned 804 to respective ones of transmit electrodes of the set of transmit electrodes, wherein respective ones of code words is a complete code word having a first code word portion and a second code word portion.
  • a first subset of transmit electrodes and their assigned code words is identified 806 based on a prior touch position estimate.
  • a second subset of transmit electrodes and their assigned code words are identified 808.
  • a transmit signal is generated 810 for respective ones of transmit electrodes of the first subset of transmit electrodes according to its assigned code word; and the transmit signal is transmitted 812.
  • a first portion of a receive signal is received 814, for respective ones of receive electrodes, indicative of the respective capacitances between the receive electrode and respective ones of transmit electrodes of the first subset of transmit electrodes.
  • the first portion of the receive signal is decoded 816 for respective ones of receive electrodes using the first portions of the first subset of code words.
  • Touch position estimates are computed 818 for the first subset of transmit electrodes based on the decoded first portions of the receive signals.
  • aspects may also apply to other sets of code words, and also when employing code words with near-zero cross-correlation also for non-zero time-shifts between two code words in the correlation function.
  • the spreading gain i.e., the signal-to-noise ratio (SNR) gain due to CDM vs. Time-Division Multiplexing (TDM, where only one transmit electrode has a non-zero stimulus at a time) after receiving half the number of chips of the code words is half of what it is after receiving the full number of chips of the code words.
  • SNR signal-to-noise ratio
  • TDM Time-Division Multiplexing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • Electronic Switches (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

Systems having a capacitive touch sensing system with transmit and receive electrodes positioned to have mutual capacitances at node intersections that deviate when a node is touched; a processor; and a machine readable storage medium with instructions to: assign complete code words to transmit electrodes; identify a subset of transmit electrodes based on a prior touch position estimate; generate a transmit signal for the transmit electrodes; receive a first portion of a receive signal for receive electrodes indicative of capacitances; decode the first portion of the receive signal of receive electrodes using the first portions of the code words; and compute touch position estimates for the subset of transmit electrodes based on the decoded first portions of the receive signals.

Description

DECODING TOUCH DATA BASED ON A CODE WORD PORTION
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to U.S. Provisional Patent Application No. 63/461,013, filed April 21, 2023, which is hereby incorporated by reference in its entirety as if fully set forth herein.
TECHNICAL FIELD
The present disclosure relates to code-division multiplexing in capacitive touch sensing devices, in particular, decoding code-division multiplexed receive data based on code word portions to estimate a touch position in a capacitive touch sensing device.
BACKGROUND
Code-Division Multiplexing (CDM) is a spread spectrum technique which allows multiple usage of the same channel. In spread spectrum implementations of capacitive touch sensing devices, a respective signal is given a code word. Signal data is available on a shared channel. A respective signal has a unique code word assigned to it called a chip sequence or orthogonal sequence, because the code words comprise symbols or “chips.” Knowing the code words, the receiver can distinguish the different signals. The code words are comprised of +1 or - 1. Respective code words have L chips, where L also is the maximum number of orthogonal signals. Two code words are orthogonal when their dot product yields zero (0). The dot product of only the first elements of such two code words usually is non-zero. That is, code word portions often are non-orthogonal to each other.
For some applications, however, it is of interest to obtain an estimate (of the transmitted information, or the channel gain before a full code word is received and processed. Such applications, for example, include capacitive touch sensing applications, which have relatively fast output report rates.
In particular, human interface devices (HID) using capacitive touch sensing have relatively fast output report rates. Capacitive touch sensing devices comprise sensor electrodes functioning as antenna that are often formed in layers of conductive material, e.g. stripes of copper of printed circuit board layer (PCB). These electrodes are electrically connected to a touch detection unit, for example, on the same PCB to form a compact unit. The touch detection unit's measurement value, among others, depends on die position of a target object (finger/hand) in the sensor electrode's vicinity which influences the capacitive coupling between electrode and target, yielding a target measurement signal depending on the distortion of the alternating electric field. Touch sensing technology for 2-dimensional touch detection often uses a signal deviation matrix over Tx-Rx nodes (i.e., in (x,y)) to identify positions being touched by a user’s finger, for example. A touch screen may, for example, have a signal deviation 16X16 matrix of Tx-Rx nodes having Tx electrodes (m = 0, 1, 2, ..., 15) and Rx electrodes (n = 0, 1, 2, . . . , 15). The code words of the Tx electrodes (m) are transmitted, receive signals of Rx electrodes (n) are received, and the information for electrode nodes (n,m) are decoded. When using CDM, decoding is possible only after receiving the receive signal in full, i.e., when containing information from the entire transmitted code words. For some touch screen applications, however, it is of interest to obtain an estimate (of the transmitted information, or complex channel gain) before the receive signals are received in full and processed.
There is a need for code-division multiplexing touch sensing schemes using a spreadspectrum technique that estimates the touch positions prior to receipt of the full receive signals. SUMMARY OF THE INVENTION
According to aspects, there is provided a code-division multiplexing touch sensing scheme using a spread-spectrum technique that estimates touch positions prior to receipt of the full receive signals.
An aspect provides a method comprising: providing a capacitive touch sensing system comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receiver electrodes at electrode intersections called nodes, wherein the capacitance at respective ones of nodes deviates when touched; identifying a first and a second subset of transmit electrodes based on a prior touch position estimate; assigning code words from a first subset of code words to respective ones of transmit electrodes of the first set of transmit electrodes, wherein respective ones of code words are a complete code word having a first code word portion and a second code word portion; assigning code words from a second subset of code words to respective ones of transmit electrodes of the second set of transmit electrodes, wherein respective ones of code words are a complete code word having a first code word portion and a second code word portion; generating a transmit signal for respective ones of transmit electrodes according to its assigned code word; transmitting the transmit signals; receiving a first portion of a receive signal, for respective ones of receive electrodes, indicative of the respective capacitances between the receive electrode and respective ones of transmit electrodes; decoding the first portion of the receive signal for respective ones of receive electrodes using the first portions of the first subset of code words; and computing touch position estimates for the first subset of transmit electrodes based on the decoded first portions of the receive signals.
An aspect provides a method as in the preceding paragraph, comprising: receiving a second portion of receive signal for respective ones of receive electrodes; decoding the complete receive signal for respective ones of receive electrodes using the complete code words; computing a touch position estimate for the set of transmit electrodes based on the decoded complete receive signals; and serially and alternatingly decoding the first portion of the receive signal and decoding the complete receive signal.
An aspect provides the method as in any one of the two preceding paragraphs, comprising default assigning respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes and default assigning respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes, wherein code words comprise unique numbers, wherein transmit electrodes are numbered uniquely, and wherein the default assigning comprises assigning the code word with the lowest number to the lowest numbered transmit electrode, and assigning the code word with the second lowest number to the second lowest numbered transmit electrode.
An aspect provides the method as in any one of the three preceding paragraphs, comprising repeating the performing a touch position estimate.
An aspect provides the method as in any one of the four preceding paragraphs, wherein assigning respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes comprises: adaptive assigning respective ones of code words from the first subset of code words to transmit electrodes identified as having been touched or identified as assumed to have been touched based on the prior touch position estimate, and wherein assigning respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes comprises: adaptive assigning respective ones of code words from the second subset of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate. An aspect provides the method as in any one of the five preceding paragraphs, wherein assigning respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes comprises: adaptive assigning respective ones of code words from the second subset of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate, and wherein assigning respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes comprises: adaptive assigning respective ones of code words from the first subset of code words to remaining unassigned transmit electrodes.
An aspect provides the method as in any one of the six preceding paragraphs, wherein respective ones of the code words comprise binary sequences having 2*K chips of a Hadamard matrix where K is an integer, wherein the code word portions of respective ones of the code words comprise K chips.
According to an aspect, there is provided a system comprising: a capacitive touch sensing system comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receive electrodes at electrode intersections called nodes, wherein the capacitance at respective ones of nodes deviates when touched; a processor; and a machine readable storage medium storing instructions, which when executed by the processor, cause the system to: identify a first and a second subset of transmit electrodes based on a prior touch position estimate; assign code words from a first subset of code words to respective ones of transmit electrodes of the first set of transmit electrodes, wherein respective ones of code words are a complete code word having a first code word portion and a second code word portion; assign code words from a second subset of code words to respective ones of transmit electrodes of the second set of transmit electrodes, wherein respective ones of code words are a complete code word having a first code word portion and a second code word portion;; generate a transmit signal for respective ones of transmit electrodes of the first subset of transmit electrodes according to its assigned code word; transmit the transmit signals; receive a first portion of a receive signal, for respective ones of receive electrodes, indicative of the respective capacitances between the receive electrode and respective ones of transmit electrodes; decode the first portion of the receive signal for respective ones of receive electrodes using the first portions of the first subset of code words; and compute touch position estimates for the first subset of transmit electrodes based on the decoded first portions of the receive signals.
An aspect provides the system as in the preceding paragraph, wherein the instructions, which when executed by the processor, cause the system to: receive a second portion of receive signal for respective ones of receive electrodes; decode the complete receive signal for respective ones of receive electrodes using the complete code words; compute touch position estimates for the set of transmit electrodes based on the decoded complete receive signals; and serially and alternatingly decode the first portion of the receive signal and decode the complete receive signal.
An aspect provides the system as in any one of the two preceding paragraphs, wherein the instructions, which when executed by the processor, cause the system to default assign respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes and default assign respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes, wherein code words comprise unique numbers, wherein transmit electrodes are numbered uniquely, and wherein the default assigning comprises assigning the code word with the lowest number to the lowest numbered transmit electrode, and assigning the code word with the second lowest number to the second lowest numbered transmit electrode.
An aspect provides the system as in any one of the three preceding paragraphs, wherein the instructions, which when executed by the processor, cause the system to repeatedly perform a touch position estimate.
An aspect provides the system as in any one of the four preceding paragraphs, wherein the instructions, which when executed by the processor, cause the system to: adaptively assign respective ones of code words to transmit electrodes identified as having been touched or identified as assumed to have been touched based on the prior touch position estimate, and adaptively assign respective ones of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate.
An aspect provides the system as in any one of the five preceding paragraphs, wherein assign respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes comprises: adaptive assign respective ones of code words from the second subset of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate.
An aspect provides the system as in the preceding paragraph, wherein assign respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes comprises: adaptive assign respective ones of code words from the first subset of code words to remaining unassigned transmit electrodes.
An aspect provides the system as in any one of the seven preceding paragraphs, wherein respective ones of the code words comprise binary sequences having 2*K chips of a Hadamard matrix where K is an integer, wherein the code word portions of respective ones of the code words comprise K chips.
BRIEF DESCRIPTION OF THE DRAWINGS
The figures illustrate examples of systems and methods of capacitive touch sensing using code-division multiplexing.
FIGURE 1 shows a sensor layout with ten receive electrodes RXO, . . . , Rx9 and sixteen transmit electrodes TxO, ... , Txl5.
FIGURE 2A shows a touch surface and time axis, illustrating a single finger touch on the electrode crossing of Tx3, Rx3 with a constant position over time.
FIGURE 2B shows a default code-word-to-TX (S2T) mapping for the touch surface and single finger touch shown in FIGURE 2A.
FIGURE 2C shows the code-word-to-Tx mapping as shown in FIGURE 2B while illustrating the code words’ chip values.
FIGURE 2D shows the code-word-to-Tx mapping and chip values as shown in FIGURE 2C highlighting the construction of a default code-word-to-Tx mapping matrix, wherein a Hadamard matrix consists of four quadrants with smaller Hadamard matrices.
FIGURE 3 A shows a touch surface and time axis, illustrating a two-finger touch with constant finger positions over time.
FIGURE 3B shows the code-word-to-Tx mapping as shown in FIGURE 2B yielding ambiguous detection after eight chips for the touch surface shown in FIGURE 3 A.
FIGURE 3C shows an adapted assignment or mapping of code words to the transmit electrodes of FIGURES 3A-3B.
FIGURE 4 A shows a touch surface and time axis, illustrating a two-finger touch on Tx0-Tx7 with touch positions constant over time. FIGURE 4B shows the code-word-to-Tx mapping as shown in FIGURE 2B yielding un-ambiguous detection after eight chips, for the touch surface shown in FIGURE 4A.
FIGURE 5 A shows a touch surface and time axis, illustrating a three-finger touch with constant positions over time.
FIGURE 5B shows an adapted code-word-to-TX (S2T) mapping yielding unambiguous detection after eight chips for the touch surface shown in FIGURE 5 A, wherein the adapted mapping is different than a default mapping and may be based on a prior touch estimation.
FIGURE 6 shows a timeline where altematingly transmissions 100% and 50% of codedivision multiple access data. The 50% of code-division multiple access data is based on code word portions or an incomplete set of code words to estimate a signal deviation matrix of a capacitive touch sensing system.
FIGURE 7 shows a block diagram of a system having a capacitive touch sensing system, a processor and a storage medium.
FIGURE 8 shows a method comprising assigning code words to transmit electrodes, decoding received signals with code words, and estimating a current touch position.
The reference number for any illustrated element that appears in multiple different figures has the same meaning across the multiple figures, and the mention or discussion herein of any illustrated element in the context of any particular figure also applies to each other figure, if any, in which that same illustrated element is shown.
DESCRIPTION
Aspects provide code-division multiplexing (CDM) touch sensing schemes implementing a spread-spectrum technique to decode partial CDM receive data based on parts of code words to estimate touch positions before the receive signals for the entire multiplexed code words are received and decoded with a complete code word or a complete set of code words. Code word portions of respective ones of the code words may be compiled into a Hadamard matrix, wherein respective ones of code word portions comprise respective ones of rows of the Hadamard matrix.
Where the approximate location or locations of a finger or fingers touching a capacitive sensing system’s touch surface are known, a subset of a set of orthogonal code words may be assigned to the touched Tx electrodes. The code words in the subset assigned to the touched Tx electrodes begin with sub-code words orthogonal to each other. At the receiver side, de- spreading and unambiguous touch detection may happen after receiving data for the sub-code words orthogonal to each other in the subset assigned to the touched Tx electrodes, without waiting until the full code words of data has been received.
FIGURE 1 shows a schematic view of a mutual-capacitance touch detection system. This touch detection system comprises a set of parallel transmit electrodes and a set of parallel receive electrodes positioned orthogonal to the set of parallel transmit electrodes in a two- dimensional (x,y) plane. A Tx-Rx electrode intersection, crossing, or ‘node’ is located at the intersection of a transmit electrode and a receive electrode. FIGURE 1 shows a mutualcapacitance touch detection system having a 16X10 array of Tx-Rx electrode nodes. In the touch detection system, measurement values change for a node when a finger is touching a touch surface of this (x,y) plane at the node. The measurement value for a Tx-Rx electrode node is dominated by the mutual-capacitance between the respective electrodes, which is affected by a finger touching this node. When a finger touches the node, the measurement value change of the node is a signal deviation because the capacitance at the node changes when the node is touched. The term touching, as used herein, is not meant to be limited to physical contact, and is meant to include proximity sufficient to cause significant change of the capacitance at the node which can be detected as a signal deviation.
A receive signal may be observed for respective ones of the receive electrodes, wherein the receive signal is indicative of the respective capacitances between the receive electrode and respective ones of the transmit electrodes. Because a single receive electrode (for example, Rx2) receives transmit signals from multiple transmit electrodes (TxO through Txl5), the transmit signals may be independently deciphered by assigning a complete code word (for example, a 16 chip binary code word) to respective ones of the transmit electrodes. The assigned code words may be the rows of a size 16 Hadamard matrix. The receive signal may be decoded to identify the transmit signal of respective ones of the transmit electrodes by its complete assigned code word. For the mutual-capacitance touch detection system shown in FIGURE 1, the receive signals of respective ones of the receive electrodes (RxO through Rx9) may be separately decoded to identify the transmit signal of respective ones of the transmit electrodes (TxO through Txl5) by its complete assigned code word so that all transmit signals are deciphered to identify deviations of the transmit signals at nodes being “touched.” A signal deviation matrix over the 16X10 array of Tx-Rx electrode nodes (i.e., in (x,y)) may be derived from the decoded receive signals. Touch positions of the two-dimensional (x,y) plane may then be estimated for a point in time at which the receive signals are observed. U.S. Patent Number 9,927,933 discloses a system having a gesture detection device with a plurality of input channels and an output channel which uses an alternating electric near field generated through at least one transmission electrode coupled with the output channel, wherein some of the input channels are coupled with receiving electrodes of the gesture detection device. The entire disclosure of U.S. Patent Number 9,927,933 is incorporated herein by reference for all purposes.
Parts of a signal deviation matrix over the 16X10 array of Tx-Rx electrode nodes (i.e., in (x,y)), may also be derived in less time than it takes to transmit complete code words. For example, parts of a signal deviation matrix may be derived after receiving only eight chips of the receive signal, before receiving all sixteen chips of the receive signals containing complete code words. First, a subset, Tsubset, of transmit electrodes are identified whose signals are affected by fingers touching at any receive electrode (signal deviation) at a previous point in time. Next, eight transmit electrodes, including those identified as being affected by fingers at the previous point in time, are assigned respective ones of the first eight rows of the size sixteen Hadamard matrix H16 in FIGURE 2C as respective code words, where Hadamard matrix Hl 6 in FIGURE 2C is constructed from four Hadamard matrices H8 as shown in FIGURE 2D and as explained further below. While FIGURES 2B-2D show a default assignment of code words, an adapted code-word-to-TX-electrode mapping may be based on the prior touch estimate so that the subset, Tsubset, of transmit electrodes being touched may be reassigned the first eight code words (first eight rows of the size 16 Hadamard matrix Hie). Then, the remaining eight rows of the size 16 Hadamard matrix H16 are assigned to the remaining transmit electrodes outside the subset of transmit electrodes Tsubset, i.e. the transmit electrodes not being touched. The transmission system is then run to transmit the transmit signals, i.e., code words, for all sixteen transmit electrodes. After reception of the first eight chips of the receive signal, the detection system performs the CDM de-spreading operation with the size eight Hadamard matrix H8 to derive a partial signal deviation matrix over the 16X10 array of Tx-Rx electrode nodes (i.e., in (x,y)). This estimate may be called a 50% estimate because it is based on code word portions that are 50% of the complete code words (eight chips of the complete sixteen chips) in an Hs Hadamard matrix, and the signal deviation matrix can only be computed and updated for the transmit electrodes in Tsubset - the rest of the signal deviation matrix is assumed to be unchanged compared to a previous, 100% (full) estimate. For a 100% (full) estimate, the receiving signal comprises both a first portion of the code words (first eight chips) and a second portion of the code words (second eight chips) so that complete code words (sixteen chips) are received, and the complete receive signal may be decoded for the receive electrodes using the complete code words.
FIGURES 2A-2D illustrate providing a capacitive touch sensing system comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receive electrodes at electrode intersections called nodes (see FIGURE 1), wherein the capacitance at respective ones of nodes deviates when touched; and performing a touch position estimate by: identifying a first and a second subset of transmit electrodes based on a prior touch position estimate; assigning code words (default or adapted) from a first subset of code words to respective ones of transmit electrodes of the first set of transmit electrodes, wherein respective ones of code words from the first subset of code words are a complete code word having a first code word portion and a second code word portion; assigning code words (default or adapted) from a second subset of code words to respective ones of transmit electrodes of the second set of transmit electrodes, wherein respective ones of code words from the second subset of code words are a complete code word having a first code word portion and a second code word portion; generating a transmit signal for respective ones of transmit electrodes according to its assigned code word; transmitting the transmit signals; receiving a first portion of a receive signal, for respective ones of receive electrodes, indicative of the respective capacitances between the receive electrode and respective ones of transmit electrodes; decoding the first portion of the receive signal for respective ones of receive electrodes using the first portions of the first subset of code words; and computing a touch position estimate for the first subset of transmit electrodes based on the decoded first portions of the receive signals.
A signal deviation matrix over the 16X10 array of Tx-Rx electrode nodes (i.e., in (x,y)), may further be derived after reception of all sixteen chips. The detection system performs the de-spreading operation with the full size sixteen Hadamard matrix H16 using the complete code words for all transmit electrodes. The signal deviation matrix thereby obtained may be an estimate with improved signal-to-noise ratio (SNR) compared to the 50% estimate. This second estimate may be called a 100% estimate because it is based on the complete code words (sixteen chips) in a Hie Hadamard matrix.
Arrays of Tx-Rx electrode nodes may be of any size and any aspect ratio. Code words may take any form, in particular, they may be any spreading sequence. Chip values may take values other than +1 and -1, for example, +2 and -2. A Hadamard matrix or any other mathematical structure may be used to derive an estimated signal deviation matrix of an array of Tx-Rx electrode nodes.
A signal deviation matrix and detection system that makes alternating 50% and 100% report estimates may provide an increase of the report rate of the touch position estimates. As explained with reference to FIGURE 1, the report rate of the touch position estimates may be doubled by making estimates based on the first eight chips of the eight code words of the first group of transmit electrodes (50% estimate) in addition to making estimates based on the full sixteen chips of the sixteen code words of the combined first and second groups of transmit electrodes (100% estimate). Estimates in any communication/sensing system, including an estimate computed after 100% of the data are available, may be wrong because estimates are based on assumptions, and prone to measurement noise and other variables.
In some applications, report rates as high as 200Hz are desirable. By alternating between 50% estimates and 100% estimates, report rates as high as 200Hz may be obtained.
For use as a CDM sensing system, respective ones of the transmit electrodes are assigned a spreading sequence or code word from a set of orthogonal spreading sequences or code words. As used herein, default assigning or mapping means initial or original mapping of code words to transmit electrodes without using a prior touch estimate to inform the assignment or mapping. As used herein, adaptive assigning or mapping of code words means subsequently assigning or mapping code words to transmit electrodes based on a prior touch estimate. An adapted mapping may map a first set of code words to any transmit electrodes estimated to have been touched or assumed to have been touched by a prior touch estimate.
For the mutual-capacitance touch detection system shown in FIGURE 1, there are sixteen transmit (Tx) electrodes TxO, Txl, . . ., Txl5. FIGURE 2D shows a default code-word- to-TX (S2T) mapping of code words to the transmit electrodes, wherein the transmit electrodes are numbered TxO through Txl 5 from top to bottom. The set of sequences or code words may be the rows of the size 16 Hadamard matrix
Figure imgf000014_0001
which can be recursively computed by
Figure imgf000014_0002
with H16 = 1 using Sylvester’s construction. Row q of H16, , q G {0,1, ... ,15], denoted C 16 by Cg , is assigned to Tx m, m G {0,1, ... ,15}. Generally, the decoding ('de-spreading’) of a receive sequence or code word when employing code words of length sixteen chips, is completed after having received all sixteen chips of the code word. However, according to an aspect providing a special construction of the size 16 Hadamard matrix W16, the first eight received chips may be decoded using the size 8 Hadamard matrix H8, which may yield an ambiguous result because the same encoding size 8 Hadamard matrix Hs is used for both the first subset Tsubset of transmit electrodes (TxO - Tx7) and the remaining transmit electrodes outside the subset Tsubset (Tx8 - Txl5). Ambiguous results are described more fully below.
FIGURE 2A shows a touch surface and time axis, illustrating a single finger touch (shown by a circle on the plane representing a touch surface) on the electrode crossing of Tx3, Rx3 with constant position over time (shown by a cylinder extending from the plane representing a touch surface). FIGURE 2B shows a default code-word-to-TX (S2T) mapping for the touch surface and single finger touch shown in FIGURE 2A, wherein code words co through cis are assigned to transmit electrodes TxO through Txl5, respectively, and respective ones of the code words has sixteen chips. In this example, a single finger is touching the touch surface on Tx3. There is no finger touching any of the other electrodes, particularly not the Tx electrodes TX8 - Txl5. Consequently, as there is no change in the position of the touch, and neither a new touch, there is no influence from a finger touching Tx electrodes Tx8 - Txl5 on the signal deviation, such that there is no ambiguity in the signal deviation. Touches on TX8 - Txl5 may result in receive data ambiguous with receive data upon touches on Tx0-Tx7 after receipt of the first eight chips, because portions Co(8)- C?(8) of code words Co - C7 are the same as portions Co(8) - C?(8) of code words Cs - C15. As used herein, the term “ambiguous” means a detection system is unable to definitively determine a touch position between two or more possible positions because there are two or more code word portions that are identical. As shown in FIGURES 2C-2D, the first eight chips of code words assigned to transmit electrodes Tx0-Tx7 are identical to the first eight chips of code words assigned to transmit electrodes Tx8- Txl5, so that the touch position is ambiguous based on encoding data solely of transmit electrodes Tx0-Tx7, because the touch position could be at either transmit electrodes Tx0-Tx7 or transmit electrodes Tx8-Txl5. Because CDM is based on a set of orthogonal code words, for this example, the rows of Hadamard matrix are of size sixteen. Two code words are orthogonal when their dot product is zero (0). Two code words are substantially orthogonal when the code words comprise a dot product less than 0.1 times the code word length. Orthogonality means that touching Tx m does not affect measurement values for other Tx m,
Figure imgf000015_0006
A respective Tx is assigned a code word , for example, a binary sequence from Hl 6, where for the scalar product of two code words holds
Figure imgf000015_0001
The transmit vector of Tx electrode m is:
Figure imgf000015_0002
On the Rx side, respective receive signal
Figure imgf000015_0003
of receive electrode n is a weighted sum of the sixteen transmit signals, where the weight for a TX changes upon finger touch on this Tx. The received vector of Rx electrode n is:
Figure imgf000015_0004
The decoding of electrode node (n,m) is:
Figure imgf000015_0005
For the first eight chips, the code words for Tx8-Txl5 are identical to code words for Tx0-Tx7, which makes an ambiguity. The ambiguity may be resolved by decoding after receiving all sixteen chips, because the full code words of length sixteen chips are orthogonal to each other. An ambiguity may be avoided by assuming that at most Tx electrodes of the first set of Tx electrodes are being touched and the remaining TX electrodes outside the first set are not being touched, wherein this assumption may be based on a 100% estimate prior to the 50% estimate. A single touch may cover more than one transmit electrode.
FIGURE 2D shows a diagram of the code words as shown in FIGURE 2C, wherein the set of orthogonal code words has rows of Hadamard matrix of size sixteen. FIGURE 2D is highlighting the construction of a default code-word-to-Tx mapping matrix, wherein a Hadamard matrix consists of four quadrants with smaller Hadamard matrices.
Figure imgf000016_0001
As noted, there is an ambiguity for the first eight chips, because the first eight chips of the code words for Tx8-Txl5 are identical to the first eight chips of the code words for Tx0-Tx7. In particular, there is an ambiguity because a touch on Txl l is indistinguishable from a touch on Tx3 when only given the receive signal values for the first eight chips. An ambiguity/interference may occur when touches are both on Tx0-Tx7 and Tx8-Txl5. When it is assumed, based on information from a previous point in time, that there is no touch on Tx8-Txl5, an interference can be excluded and an unambiguous measurement may be taken on Tx0-Tx7.
FIGURE 2D shows a construction method for Hadamard matrices, wherein the size sixteen Hadamard matrix Hie is recursively constructed, in four quadrants of the size sixteen Hadamard matrix, containing four copies of a size eight Hadamard matrix Hs, one in the bottom right quadrant being sign inverted, where the size eight Hadamard matrix Hs is a set of orthogonal rows eight chips long. There are repeating patterns in this matrix because of the special construction method, namely the size sixteen Hadamard matrix Hie is constructed from four copies of the size eight Hadamard matrix Hs. The size eight Hadamard matrix Hs, has orthogonal rows.
After eight Rx chips are received, there is ambiguity between touches on Tx #0-#7 and #8-#15 because the partial code words of Tx #0-#7 and #8-#15 are identical. For example, a touch on Tx #11 yields the same Rx signals as a touch on Tx #3. This ambiguity exists when there is a chance that there is a touch both on Tx #0-#7 and #8-#15. However, if it can be assumed there is no touch on Tx #8-#15, then a touch on Tx #0-#7 can be resolved unambiguously, or vice versa, even after receipt of only the first eight chips of the original code word’s sixteen chips.
FIGURE 3 A shows a touch surface and time axis, illustrating a two-finger touch — one touch on Tx electrode #3 (Tx3) and another touch on Tx electrode # 11 (Txl l). FIGURE 3B shows a code-word-to-TX (S2T) mapping for the touch surface shown in FIGURE 3 A. In this example, a single finger is touching the touch surface on Tx3 and another single finger is touching the touch surface on Txl l. There is no finger touching any of the other electrodes. Consequently, in the event that there is no change in the position of touch, there will be an influence from a finger touching Tx electrodes Tx8-Txl5 on the signal deviation, such that there may be ambiguity in the signal deviation. Code words of Tx8 - Txl5 may be ambiguous with code words of Tx0-Tx7 after receipt of the first eight chips, because the first eight chips of code words C0-C7 are identical to the first eight chips of code words Cs-Cis, see Figure 2D. The ambiguity of FIGURE 3B may be resolved by decoding after receiving all sixteen chips, because the second eight chips of code words are not identical. Alternatively, FIGURE 3C shows an adapted assignment or mapping of code words to transmit electrodes, which may preclude an ambiguity of the code words when decoding after receipt of the first eight chips. Via the adapted assignment, code words C0-C3 are assigned to transmit electrodes Tx2-Tx5, respectively, and code words C4-C7 are assigned to transmit electrodes Txl0-Txl3, respectively. There is no ambiguity with this adapted assignment because the touched transmit electrodes (Tx2-Tx5 and Txl0-Txl3) are assigned code words C0-C7 and the remaining untouched transmit electrodes (TxO-Txl, Tx6-Tx9, and Txl4-Txl5) are assigned code words C8-C15.
FIGURE 4 A shows a touch surface and time axis, illustrating a two-finger touch on Tx0-Tx7 — one touch on Tx electrode #2 (Tx2) and another touch on Tx electrode # 5 (Tx5). FIGURE 4B shows a code-word-to-TX (S2T) mapping for the touch surface and single finger touch at the previous point in time shown in FIGURE 4A. There is no finger touching any of the other electrodes, particularly not the Tx electrodes Tx8 - Txl5. Consequently, in the event that there is no change in the position of touch, there will be no influence from a finger touching Tx electrodes Tx8 - Txl5 on the signal deviation, such that there is no ambiguity in the signal deviation. In this example, two-finger touches can be unambiguously resolved/detected after only eight receive chips when they are both located on Tx electrodes TxO - Tx7. Any number of touches on the area of Tx electrodes TxO - Tx7 can be resolved provided it is assumed that there is no touch on Tx electrodes Tx8 to Txl5. Code words for Tx8 - Txl5 may be ambiguous with code words for Tx0-Tx7 after receipt of the first eight chips because these code word portions are identical. If it has been previously estimated that there are no touches on Tx8 - Txl5, then the detection system may assume estimated touches, if any, will be on TxO - Tx7, i.e. not on Tx8 - Txl5.
FIGURE 5A shows a touch surface and time axis, illustrating two fingers covering Tx electrodes Tx2 to Tx6, and one finger covering Tx electrodes Tx9 to Txl 1. FIGURE 5B shows an adapted code-word -to-TX (S2T) mapping, wherein code words are mapped as follows: CO— >Tx2; C HTx3; C2^Tx4; C3^Tx5; C4^Tx6; C5^Tx9; C6^TxlO; and C7^Txl l. This adaptive mapping may yield un-ambiguous detection after eight chips for the touch surface and finger touch positions shown in FIGURE 5A. One way to avoid an ambiguity is to confirm by a prior touch estimate that all of the touches are on transmit electrodes TxO - Tx7, so the current, touching finger(s) may be assumed to be located on transmit electrodes TxO - Tx7. However, in this example of FIGURES 5A-5B, the ambiguity problem may be solved for finger touches on any Tx electrodes, provided that sufficiently many Tx electrodes remain untouched or, more precisely, the respective Tx-Rx channels may be assumed to yield zero signal deviation. The first eight spreading sequences or code words in H16 are adaptively assigned to the touched Tx electrodes. In particular, the two fingers covering Tx electrodes Tx2 to Tx6 and one finger covering Tx electrodes Tx9 to Txl l shown in FIGURES 5A, are adaptively assigned, respectively, to code words
Figure imgf000018_0001
as shown in FIGURE 5B. This is an adapted code-word-to-TX (S2T) assignment or mapping. This assignment can be represented by multiplication of the code word matrix with a code-word-to- Tx mapping matrix E For the example in FIGURES 5A-5B, multiplication of the code word matrix with a code-word-to-Tx mapping matrix f, is f • H16 with
Figure imgf000019_0001
The sequences or code words may be spread by Sylvester’s construction. For Hadamard matrices computed with Sylvester’s recursive construction with
Figure imgf000019_0002
= [1], latency may be further reduced.
According to one aspect, the Hadamard matrix H16 may be expressed as
Figure imgf000019_0003
which implies that if at most four Tx electrodes are being touched, the first four rows of H16 may be adaptively assigned to the Tx electrodes being touched, so that the signal may be effectively decoded after having received the first four chips. In other words, when there are finger touches only on Tx electrodes to which the first four rows of Hl 6 are assigned as code words, then the finger positioning can take place already after having received data for the first four chips. This process can be played down to a single touched electrode. Because the first eight spreading sequences or code words in H16 are adaptively assigned to the touched Tx electrodes, there is no ambiguity.
FIGURE 6 shows a graph with an example of the measurement and finger position estimate update over time. In this example, at ten millisecond intervals, the system has alternatingly received 50% and 100% of the chips, for 50% and 100% estimates, respectively. At 0 milliseconds, no previous information is given about finger positions on the touch sensor. Therefore, a default assignment or mapping of code words to Tx electrodes is applied, which is why the data bar is shown as an outline rather than a solid bar. At 10 milliseconds, the graph shows that the system received data for the first eight chips. If there would have been prior touch information at time 0ms, and if the code word to Tx mapping could have been applied such that to all touched Tx electrodes were assigned code words from the first eight rows of the Hadamard matrix Hl 6, then a position estimate update could be computed for the respective Tx electrodes. However, as there was no prior touch information available at time 0ms, a sensible position estimate update could not be computed at this 0ms time. At 20 milliseconds, the graph shows that the system received 100% of the transmitted code words, implying that position estimate updates were computed for 100% of the transmit electrodes (“100% Tx”) by de-spreading the receive data with the code words from a full-sized Hadamard matrix, which also implies signal deviation estimates with improved SNR compared to the 50% Tx estimates where only the first halves of the full code words are employed. Also at 20 milliseconds, because there was information about finger touches available, an adapted code-word-to-Tx mapping is applied for the next measurement cycle, ensuring that all touched Tx electrodes have mapped code words from the set {c0, cl, ..., c7}. At 30ms with the next 50% Tx estimate, touch position estimate updates are computed for the Tx electrodes associated with code words cO, . . . , c7 using the receive data for the first eight transmitted chips and code words from the rows of Hadamard matrix H8. At 40ms after receiving data for all sixteen transmitted chips, touch position updates are computed for all sixteen Tx electrodes, and a new adapted code word to Tx map is prepared for the next measurement cycle. The graph shows these steps are repeated at 50 and 60 milliseconds, and again at 70 and 80 milliseconds. Report estimates may be provided by serially and alternatingly decoding the first portion of the receive signal (50%) and decoding the complete receive signal (100%). Thus, signal deviation matrices providing estimates of touch position(s) may be reported at more frequent time intervals.
A detection system that makes alternating 50% and 100% report estimates may provide an increase of the report rate of the touch position estimates. In this case, an estimate of the touch position is decoded by the detection system on 10 millisecond intervals. Whereas, if 100% estimates are exclusively decoded, the detection system may estimate the touch position on 20 millisecond intervals. By making estimates based on the first eight chips of the eight code words of the first subset of transmit electrodes (50% estimate), wherein code words are adaptively mapped based on information from previous estimates, in addition to making estimates based on the full sixteen chips of the sixteen code words of the combined first and second subsets of transmit electrodes (100% estimate), the detection system may make estimates at 10 millisecond intervals. Detections systems may make estimates of touch position(s) at 10 millisecond intervals, 5 millisecond intervals, 1 millisecond intervals, or any time interval greater than or equal to 1 millisecond. Detection systems may report estimates of touch position(s) at 50Hz, 100 Hz, 150 Hz, 200 Hz, or any report rate faster than or equal to 50 Hz. Signal deviation matrices providing estimates of touch position(s) may be reported at time intervals.
A first set of data may be transmitted to provide a 50% estimate, a second set of data may be transmitted to provide a 100% estimate, a third set of data may be transmitted to provide another 50% estimate, and so forth. Subsequent estimates may be based on prior assumptions about the number of touching fingers and their positions. An estimate at a point in time may be based on transmission of code word portions comprising 50% or more of the code words, respectively, for example the first eight chips of sixteen chip code words or any number of chips between eight and sixteen. An estimate at another point in time may be based on transmission of code word portions comprising 50% or less of the code words, respectively, for example the first eight chips of sixteen chip code words or any number of chips between one and eight.
FIGURE 7 shows a block diagram of a system having a capacitive touch sensing system 702, a processor 704, and a storage medium 706. The capacitive touch sensing system 702 may comprise transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receive electrodes at their intersections called nodes, wherein the capacitance at respective ones of nodes deviates when a node is touched. The processor 704 may be a microcontroller. The machine readable storage medium 706 storing instructions, which when executed by the processor, may cause the system to: assign a code word to respective ones of transmit electrodes of the set of transmit electrodes, wherein respective ones of code words is a complete code word having a first code word portion and a second code word portion; identify a first subset of transmit electrodes and their assigned code words based on a prior touch position estimate; identify a second subset of transmit electrodes and their assigned code words; generate a transmit signal for respective ones of transmit electrodes of the first subset of transmit electrodes according to its assigned code word; transmit the transmit signals; receive a first portion of a receive signal, for respective ones of receive electrodes, indicative of the respective capacitances between the receive electrode and respective ones of the transmit electrodes of the first subset of transmit electrodes; decode the first portion of the receive signal for respective ones of receive electrodes using the first portions of the first subset of code words; and compute touch position estimates for the first subset of transmit electrodes based on the decoded first portions of the receive signals.
FIGURE 8 shows a flow chart of method. A capacitive touch sensing system is provided 802 comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receiver electrodes at node intersections, wherein the capacitance at respective ones of nodes deviates when touched. A code word is assigned 804 to respective ones of transmit electrodes of the set of transmit electrodes, wherein respective ones of code words is a complete code word having a first code word portion and a second code word portion. A first subset of transmit electrodes and their assigned code words is identified 806 based on a prior touch position estimate. A second subset of transmit electrodes and their assigned code words are identified 808. A transmit signal is generated 810 for respective ones of transmit electrodes of the first subset of transmit electrodes according to its assigned code word; and the transmit signal is transmitted 812. A first portion of a receive signal is received 814, for respective ones of receive electrodes, indicative of the respective capacitances between the receive electrode and respective ones of transmit electrodes of the first subset of transmit electrodes. The first portion of the receive signal is decoded 816 for respective ones of receive electrodes using the first portions of the first subset of code words. Touch position estimates are computed 818 for the first subset of transmit electrodes based on the decoded first portions of the receive signals.
Aspects may also apply to other sets of code words, and also when employing code words with near-zero cross-correlation also for non-zero time-shifts between two code words in the correlation function.
According to an aspect, there is provided the spreading gain, i.e., the signal-to-noise ratio (SNR) gain due to CDM vs. Time-Division Multiplexing (TDM, where only one transmit electrode has a non-zero stimulus at a time) after receiving half the number of chips of the code words is half of what it is after receiving the full number of chips of the code words. For example, the SNR of a 100% estimate may be twice the SNR of a 50% estimate, because of the so-called spreading gain.
Although examples have been described above, other variations and examples may be made from this disclosure without departing from the spirit and scope of these disclosed examples.

Claims

1. A method comprising: providing a capacitive touch sensing system comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receive electrodes at electrode intersections called nodes, wherein the capacitance at respective ones of nodes deviates when touched; and performing a touch position estimate by: identifying a first and a second subset of transmit electrodes based on a prior touch position estimate; assigning code words from a first subset of code words to respective ones of transmit electrodes of the first set of transmit electrodes, wherein respective ones of code words from the first subset of code words are a complete code word having a first code word portion and a second code word portion; assigning code words from a second subset of code words to respective ones of transmit electrodes of the second set of transmit electrodes, wherein respective ones of code words from the second subset of code words are a complete code word having a first code word portion and a second code word portion; generating a transmit signal for respective ones of transmit electrodes according to its assigned code word; transmitting the transmit signals; receiving a first portion of a receive signal, for respective ones of receive electrodes, indicative of the respective capacitances between the receive electrode and respective ones of transmit electrodes; decoding the first portion of the receive signal for respective ones of receive electrodes using the first portions of the first subset of code words; and computing a touch position estimate for the first subset of transmit electrodes based on the decoded first portions of the receive signals.
2. The method as in claim 1, comprising: receiving a second portion of receive signal for respective ones of receive electrodes; decoding the complete receive signal for respective ones of receive electrodes using the complete code words; computing a touch position estimate for the set of transmit electrodes based on the decoded complete receive signals; and serially and alternatingly decoding the first portion of the receive signal and decoding the complete receive signal.
3. The method as in any one of claims 1 to 2, comprising default assigning respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes and default assigning respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes, wherein code words comprise unique numbers, wherein transmit electrodes are numbered uniquely, and wherein the default assigning comprises assigning the code word with the lowest number to the lowest numbered transmit electrode, and assigning the code word with the second lowest number to the second lowest numbered transmit electrode.
4. The method as in any one of claims 1 to 3, comprising repeating the performing a touch position estimate.
5. The method as in any one of claims 1 to 4, wherein assigning respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes comprises: adaptive assigning respective ones of code words from the first subset of code words to transmit electrodes identified as having been touched or identified as assumed to have been touched based on the prior touch position estimate, and wherein assigning respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes comprises: adaptive assigning respective ones of code words from the second subset of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate.
6. The method as in any one of claims 1 to 5, wherein assigning respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes comprises: adaptive assigning respective ones of code words from the second subset of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate, and wherein assigning respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes comprises: adaptive assigning respective ones of code words from the first subset of code words to remaining unassigned transmit electrodes.
7. The method as in any one of claims 1 to 6, wherein respective ones of the code words comprise binary sequences having 2*K chips of a Hadamard matrix where K is an integer, wherein the code word portions of respective ones of the code words comprise K chips.
8. A system comprising: a capacitive touch sensing system comprising transmit electrodes and receive electrodes positioned to have mutual capacitances between transmit electrodes and receive electrodes at electrode intersections called nodes, wherein the capacitance at respective ones of nodes deviates when touched; a processor; and a machine readable storage medium storing instructions, which when executed by the processor, cause the system to: identify a first and a second subset of transmit electrodes based on a prior touch position estimate; assign code words from a first subset of code words to respective ones of transmit electrodes of the first set of transmit electrodes, wherein respective ones of code words from the first set of code words are a complete code word having a first code word portion and a second code word portion; assign code words from a second subset of code words to respective ones of transmit electrodes of the second set of transmit electrodes, wherein respective ones of code words from the second set of code words are a complete code word having a first code word portion and a second code word portion; generate a transmit signal for respective ones of transmit electrodes according to its assigned code word; transmit the transmit signals; receive a first portion of a receive signal, for respective ones of receive electrodes, indicative of the respective capacitances between the receive electrode and respective ones of transmit electrodes; decode the first portion of the receive signal for respective ones of receive electrodes using the first portions of the first subset of code words; and compute touch position estimates for the first subset of transmit electrodes based on the decoded first portions of the receive signals, whereby a touch estimate is performed.
9. The system as in claim 8, wherein the instructions, which when executed by the processor, cause the system to: receive a second portion of receive signal for respective ones of receive electrodes; decode the complete receive signal for respective ones of receive electrodes using the complete code words; compute touch position estimates for the set of transmit electrodes based on the decoded complete receive signals; and serially and altematingly decode the first portion of the receive signal and decode the complete receive signal.
10. The system as in any one of claims 8 to 9, wherein the instructions, which when executed by the processor, cause the system to default assign respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes and default assign respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes, wherein code words comprise unique numbers, wherein transmit electrodes are numbered uniquely, and wherein the default assigning comprises assigning the code word with the lowest number to the lowest numbered transmit electrode, and assigning the code word with the second lowest number to the second lowest numbered transmit electrode.
11. The system as in any one of claims 8 to 10, wherein the instructions, which when executed by the processor, cause the system to repeatedly perform a touch position estimate.
12. The system as in any one of claims 8 to 11, wherein the instructions, which when executed by the processor, cause the system to: adaptively assign respective ones of code words to transmit electrodes identified as having been touched or identified as assumed to have been touched based on the prior touch position estimate, and adaptively assign respective ones of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate.
13. The system as in any one of claims 8 to 12, wherein assign respective ones of code words from the second subset of code words to respective ones of the second set of transmit electrodes comprises: adaptive assign respective ones of code words from the second subset of code words to transmit electrodes identified as having not been touched or identified as assumed to have not been touched based on the prior touch position estimate.
14. The system as in claim 13, wherein assign respective ones of code words from the first subset of code words to respective ones of the first set of transmit electrodes comprises: adaptive assign respective ones of code words from the first subset of code words to remaining unassigned transmit electrodes.
15. The system as in any one of claims 8 to 14, wherein respective ones of the code words comprise binary sequences having 2*K chips of a Hadamard matrix where K is an integer, wherein the code word portions of respective ones of the code words comprise K chips.
PCT/US2024/022717 2023-04-21 2024-04-03 Decoding touch data based on a code word portion Ceased WO2024220239A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202480023879.3A CN120917412A (en) 2023-04-21 2024-04-03 Decoding touch data based on codeword portions
KR1020257033480A KR20250171299A (en) 2023-04-21 2024-04-03 Decoding touch data based on codeword portion
DE112024001814.9T DE112024001814T5 (en) 2023-04-21 2024-04-03 DECODING OF TOUCH DATA BASED ON A CODEWORD SECTION

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202363461013P 2023-04-21 2023-04-21
US63/461,013 2023-04-21
US18/429,684 US20240353946A1 (en) 2023-04-21 2024-02-01 Decoding touch data based on a code word portion
US18/429,684 2024-02-01

Publications (1)

Publication Number Publication Date
WO2024220239A1 true WO2024220239A1 (en) 2024-10-24

Family

ID=90829044

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2024/022717 Ceased WO2024220239A1 (en) 2023-04-21 2024-04-03 Decoding touch data based on a code word portion

Country Status (5)

Country Link
KR (1) KR20250171299A (en)
CN (1) CN120917412A (en)
DE (1) DE112024001814T5 (en)
TW (1) TW202443371A (en)
WO (1) WO2024220239A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107102758A (en) * 2016-10-13 2017-08-29 安沛科技股份有限公司 Scanning method and compensation method of touch panel
US9927933B2 (en) 2014-07-10 2018-03-27 Microchip Technology Germany Gmbh Method and system for gesture detection and touch detection
WO2018211760A1 (en) * 2017-05-16 2018-11-22 アルプス電気株式会社 Capacitive sensor device and method for control of capacitive sensor device
US20190220141A1 (en) * 2018-01-12 2019-07-18 Idex Asa Systems and methods for noise reduction in sensors
US10474291B2 (en) * 2016-12-28 2019-11-12 Industrial Technology Research Institute Driving device and device method
US20210055822A1 (en) * 2019-08-22 2021-02-25 Idex Biometrics Asa Systems and methods for improving image quality in sensors
US20220043537A1 (en) * 2020-08-06 2022-02-10 Samsung Electronics Co., Ltd. Touch sensor and touch sensing method
CN115328330A (en) * 2022-06-28 2022-11-11 北京奕斯伟计算技术股份有限公司 Touch driving device, touch device and touch driving method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9927933B2 (en) 2014-07-10 2018-03-27 Microchip Technology Germany Gmbh Method and system for gesture detection and touch detection
CN107102758A (en) * 2016-10-13 2017-08-29 安沛科技股份有限公司 Scanning method and compensation method of touch panel
US10474291B2 (en) * 2016-12-28 2019-11-12 Industrial Technology Research Institute Driving device and device method
WO2018211760A1 (en) * 2017-05-16 2018-11-22 アルプス電気株式会社 Capacitive sensor device and method for control of capacitive sensor device
US20190220141A1 (en) * 2018-01-12 2019-07-18 Idex Asa Systems and methods for noise reduction in sensors
US20210055822A1 (en) * 2019-08-22 2021-02-25 Idex Biometrics Asa Systems and methods for improving image quality in sensors
US20220043537A1 (en) * 2020-08-06 2022-02-10 Samsung Electronics Co., Ltd. Touch sensor and touch sensing method
CN115328330A (en) * 2022-06-28 2022-11-11 北京奕斯伟计算技术股份有限公司 Touch driving device, touch device and touch driving method

Also Published As

Publication number Publication date
DE112024001814T5 (en) 2026-02-12
KR20250171299A (en) 2025-12-08
TW202443371A (en) 2024-11-01
CN120917412A (en) 2025-11-07
CN120917412A8 (en) 2026-03-27

Similar Documents

Publication Publication Date Title
US9058082B2 (en) Synchronous timed orthogonal measurement pattern for multi-touch sensing on a touchpad
JP5512016B2 (en) Method and system for detecting object position-based attributes using digital codes
US9766747B2 (en) Multi-stage stylus scanning
US7084860B1 (en) Method and apparatus for a touch sensitive system employing direct sequence spread spectrum (DSSS) technology
CN102609126B (en) Indication body detection device and indication body detection method
CN101661357B (en) Touch sensitive device and method of increasing the spatial resolution of touch sensitive device
CN101911577B (en) Allocating method and device for control channel data in OFDM systems
KR100959325B1 (en) Multiuser Detector for Variable Diffusion Factor
US20120105362A1 (en) Synchronizing a stylus with a capacitive sense array
KR101522532B1 (en) A method of operating a touch panel
WO2019097565A1 (en) Sensor controller
WO2004015555A2 (en) Method and apparatus for position sensing
JP5507758B2 (en) System, method, apparatus, and computer-readable medium used in connection with a system in which interference occurs
CN101866250A (en) Two-dimensional position sensor
EP3602254A1 (en) Discrete high impedance implementation on push-pull outputs
KR20180064397A (en) Noise-reduced capacitance measurement device
JP2009503954A5 (en)
WO2001022637A1 (en) Cdma communication system employing code sequence set having non-cross correlation region
WO2024220239A1 (en) Decoding touch data based on a code word portion
US20240353946A1 (en) Decoding touch data based on a code word portion
JP2026514107A (en) Decoding of touch data based on the codeword portion
JP7209064B2 (en) Pointer position detection method
Park et al. Application of weighing matrices to simultaneous driving technique for capacitive touch sensors
CN114610184A (en) Touch detection chip, touch detection method, touch screen and electronic equipment
KR101537595B1 (en) Signal transmission method for interference randomization

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24721443

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: CN2024800238793

Country of ref document: CN

Ref document number: 202480023879.3

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 1020257033480

Country of ref document: KR

Free format text: ST27 STATUS EVENT CODE: A-0-1-A10-A15-NAP-PA0105 (AS PROVIDED BY THE NATIONAL OFFICE)

WWE Wipo information: entry into national phase

Ref document number: KR1020257033480

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2025559896

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025559896

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 202480023879.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112024001814

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 112024001814

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 24721443

Country of ref document: EP

Kind code of ref document: A1