A low-cost single-layer mobile touch-screen is disclosed, including a highly sensitive capacitive sensing circuit, and a corresponding finger 3D position estimation and gesture recognition algorithms compatible with mobile device platforms and that can be readily programmed into the mobile device's application processor.
|
16. An apparatus for finger position detection, the apparatus comprising:
(a) a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel is associated with a channel response for that channel; and
(b) a processor coupled to the output channels,
(c) a non-transitory memory storing instructions executable by the processor;
(d) wherein said instructions, when executed by the processor, are configured to transform signals received from the output channels into a filtered subset by performing steps comprising:
(i) categorizing the channel responses into one or more groups;
(ii) applying one or more criteria to the one or more groups; and
(iii) filtering out any groups that do not meet the one or more criteria;
(e) wherein categorizing the channel responses into one or more groups comprises:
acquiring a signal from each of the output channels;
comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold such that a filtered set of signals remains;
identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that is both preceded and followed by a signal having a lower level; and
assigning the peak signal and neighboring signals to a group.
13. An apparatus for finger position detection, the apparatus comprising:
(a) a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel is associated with a channel response for that channel;
(b) a digital filter coupled to the output channels, the digital filter configured to transform signals received from the output channels into a filtered subset by performing steps comprising:
(i) categorizing the channel responses into one or more groups: (ii) applying one or more criteria to the one or more groups; and (iii) filtering out any groups that do not meet the one or more criteria;
(c) at least one instant position calculation module for calculating a position of a finger touching or above the touch panel; and
(d) a gesture recognition model configured to receive measured finger position data and generate a trend of a finger movement; (e) wherein the gesture recognition module is configured to generate a trend of the finger movement by performing steps comprising: obtaining derivations of the obtained instant finger position in X, Y and Z directions; applying an integration window to the obtained derivations to generate an integration value; comparing the integration value to a threshold value to determine when a direction's movement exists; and generating gesture recognition output.
25. An apparatus for finger position detection, the apparatus comprising:
(a) a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel is associated with a channel response for that channel;
(b) a processor coupled to the output channels;
(c) a non-transitory memory storing instructions executable by the processor;
(d) wherein said instructions, when executed by the processor, are configured to transform signals received from the output channels into a filtered subset by performing steps comprising:
(i) categorizing the channel responses into one or more groups; (ii) applying one or more criteria to the one or more groups; and (iii) filtering out any groups that do not meet the one or more criteria;
(e) wherein said instructions when executed by the processor further perform steps comprising calculating a position of a finger touching or above the touch panel;
(f) wherein said instructions when executed by the processor further perform steps comprising receiving measured finger position data and generating a trend of a finger movement; and
(g) wherein generating a trend of the finger movement comprises: obtaining derivations of the obtained instant finger position in X, Y and Z directions; applying an integration window to the obtained derivations to generate an integration value; comparing the integration value to a threshold value to determine when a direction's movement exists; and generating gesture recognition output.
1. An apparatus for finger position detection, the apparatus comprising:
(a) a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel is associated with a channel response for that channel;
(b) a digital filter coupled to the output channels, the digital filter configured to transform signals received from the output channels into a filtered subset by performing steps comprising:
(i) categorizing the channel responses into one or more groups: (ii) applying one or more criteria to the one or more groups; and (iii) filtering out any groups that do not meet the one or more criteria;
(c) wherein categorizing the channel responses into one or more groups comprises:
acquiring a signal from each of the output channels; comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold such that a filtered set of signals remains; identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that is both preceded and followed by a signal having a lower level; and assigning the peak signal and neighboring signals to a group; and
(d) wherein assigning the peak signal and neighboring signals to a group comprises: assigning the peak signal and said preceding signal and following signal to a group; and assigning any additional preceding signals or following signals to the group when said additional preceding signals or following signals have a level lower than or equal to the level of an immediately adjacent signal.
6. An apparatus for finger position detection, the apparatus comprising:
(a) a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel is associated with a channel response for that channel;
(b) a digital filter coupled to the output channels, the digital filter configured to transform signals received from the output channels into a filtered subset by performing steps comprising:
(i) categorizing the channel responses into one or more groups; (ii) applying one or more criteria to the one or more groups; and (iii) filtering out any groups that do not meet the one or more criteria;
(c) wherein categorizing the channel responses into one or more groups comprises:
acquiring a signal from each of the output channels; comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold such that a filtered set of signals remains; identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that is both preceded and followed by a signal having a lower level; and assigning the peak signal and neighboring signals to a group; and
(d) wherein applying one or more criteria to the one or more groups comprises: fitting the filtered out signals and the signals in the group to a curve and measuring slope of the fitted curve; and designating the group as valid when at least one channel response in the group meets or exceeds a peak response threshold and the channel responses in the group has an average slope that meets or exceeds a defined slope threshold.
2. The apparatus of
at least one instant position calculation module for calculating a position of a finger touching or above the touch panel.
3. The apparatus of
calculating an instant Y position by comparing channel responses of upper sensing electrodes and channel responses of lower sensing electrodes; and
calculating an instant X position by using the calculated instant Y position to define an X direction center position of each sensing electrode and calculate the instant X position based on a weighted average of all the X direction center positions.
4. The apparatus of
measuring a total finger-induced capacitance of the touch panel.
5. The apparatus of
a gesture recognition model configured to receive measured finger position data and generate a trend of a finger movement.
7. The apparatus of
8. The apparatus of
9. The apparatus of
at least one instant position calculation module for calculating a position of a finger touching or above the touch panel.
10. The apparatus of
calculating an instant Y position by comparing channel responses of upper sensing electrodes and channel responses of lower sensing electrodes; and
calculating an instant X position by using the calculated instant Y position to define an X direction center position of each sensing electrode and calculate the instant X position based on a weighted average of all the X direction center positions.
11. The apparatus of
measuring a total finger-induced capacitance of the touch panel.
12. The apparatus of
a gesture recognition model configured to receive measured finger position data and generate a trend of a finger movement.
14. The apparatus of
calculating an instant Y position by comparing channel responses of upper sensing electrodes and channel responses of lower sensing electrodes; and
calculating an instant X position by using the calculated instant Y position to define an X direction center position of each sensing electrode and calculate the instant X position based on a weighted average of all the X direction center positions.
15. The apparatus of
measuring a total finger-induced capacitance of the touch panel.
17. The apparatus of
18. The apparatus of
19. The apparatus of
20. The apparatus of
calculating a position of a finger touching or above the touch panel.
21. The apparatus of
calculating an instant Y position by comparing channel responses of upper sensing electrodes and channel responses of lower sensing electrodes; and
calculating an instant X position by using the calculated instant Y position to define an X direction center position of each sensing electrode and calculate the instant X position based on a weighted average of all the X direction center positions.
22. The apparatus of
calculating the Z position of the finger by measuring a total finger-induced capacitance of the touch panel.
23. The apparatus of
receiving measured finger position data and generating a trend of a finger movement.
24. The apparatus of
acquiring a signal from each of the output channels;
comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold such that a filtered set of signals remains;
identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that is both preceded and followed by a signal having a lower level; and
assigning the peak signal and neighboring signals to a group.
26. The apparatus of
acquiring a signal from each of the output channels;
comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold such that a filtered set of signals remains;
identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that is both preceded and followed by a signal having a lower level; and
assigning the peak signal and neighboring signals to a group.
27. The apparatus of
calculating an instant Y position by comparing channel responses of upper sensing electrodes and channel responses of lower sensing electrodes; and
calculating an instant X position by using the calculated instant Y position to define an X direction center position of each sensing electrode and calculate the instant X position based on a weighted average of all the X direction center positions.
28. The apparatus of
calculating the Z position of the finger by measuring a total finger-induced capacitance of the touch panel.
|
This application claims priority to, and is a 35 U.S.C. § 111(a) continuation of, PCT international application number PCT/US2017/032036 filed on May 10, 2017, incorporated herein by reference in its entirety, which claims priority to, and the benefit of, U.S. provisional patent application Ser. No. 62/335,593 filed on May 12, 2016, incorporated herein by reference in its entirety. Priority is claimed to each of the foregoing applications.
The above-referenced PCT international application was published as PCT International Publication No. WO 2017/197041 A1 on Nov. 16, 2017, which publication is incorporated herein by reference in its entirety.
Not Applicable
A portion of the material in this patent document may be subject to copyright protection under the copyright laws of the United States and of other countries. The owner of the copyright rights has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the United States Patent and Trademark Office publicly available file or records, but otherwise reserves all copyright rights whatsoever. The copyright owner does not hereby waive any of its rights to have this patent document maintained in secrecy, including without limitation its rights pursuant to 37 C.F.R. § 1.14.
The technology of this disclosure pertains generally to sensing surfaces, and more particularly to systems and methods for accurate touch-sensor detection.
The use of smart mobile devices (e.g., smart phones, tablets) has grown rapidly in the past years and is quickly replacing the traditional personal computer (PC). Compared with PCs, smart mobile devices offer comparable computation power with a much smaller size, lower weight and more user-friendly interactive human/machine interface (HMI).
Among these consumer electronics, touch screens have been widely used as the main methodology to bridge the human and machine interaction. Traditional touch screen systems are limited to two-dimensional sensing capability, i.e. users are required to touch the screen directly for the system to determine finger position. This technology suffers from various disadvantages, including leaving fingerprints on the screen, unresponsiveness to wet hands and a limited accuracy with shrinking device size. Moreover, the limited sensing dimension has also trapped the development of advanced interactive games. Unlike in large television and monitor type displays where there is sufficient power to support cameras to detect user's hand motion, the sensing approach in mobile and wearable devices is very limited due to their restricted power and area budget. Therefore, it is important to discover a new method of HMI to have a higher efficiency and increased sensing capabilities.
A conventional touch screen is designed with both horizontal and vertical electrodes. When the user's finger touches or gets close to the electrodes, a certain channel response is shown on the corresponding channel's readout. However, there is also unexpected response due to channel coupling effects and body-induced background capacitance. This unexpected channel response can cause a false detection or affect finger position estimation accuracy.
Currently available 2D capacitive touch sensing can generally be categorized as either self-capacitive sensing or mutual-capacitive sensing. For self-capacitive sensing, the sensor senses finger induced self-capacitance change to the shielded electrodes. With mutual capacitive sensing, the change is shown on the coupling capacitance between horizontal and vertical electrodes. Although the parasitic mutual capacitance of the touch electrode is generally much larger than the self-capacitance, mutual capacitive sensing is still widely used as the main 2D touch sensing methodology in the mobile industry due to its compatibility of implementing multi-touch detection. For self-capacitive sensing, multi-touch detection cannot be supported due to the potential generation of ghost points during the electrode scanning.
This present disclosure is directed to technology that can be used to overcome inaccurate operation of conventional touch screens due to unexpected channel response from factors such as channel coupling effects and body-induced background capacitance. The technology of the present disclosure is configured to accommodate the space and battery constraints of mobile device environment by minimizing the required hardware size and power, while providing the ability for a mobile device to detect the human finger position remotely when fingers are hovering above the screen.
In one embodiment of the presented technology, a filter for background noise reduction and multi-touch position detection for contactless 3D touch sensing is provided that categorizes the channel responses into several groups, applies criterion to all of the groups, and filters out any group that does not meet the criterion.
In another embodiment, the technology comprises a low-cost single layer mobile touch-screen, a highly sensitive capacitive sensing circuit, and a corresponding finger 3D position estimation and gesture recognition algorithm compatible with mobile device platforms and that can be programmed into the mobile device's application processor (AP).
One aspect of the technology is a single-layer touch panel for 3D touch sensing that solves the traditional ghost point problems found with self-capacitive, multi-touch sensing and reduces the touch screen manufacturing costs.
Another aspect of the technology is a bootstrapped-oscillator-based correlated double sampling (CDS) capacitive sensing circuit that can eliminate electrode coupling effects and enable accurate finger capacitance detection.
Further aspects of the technology described herein will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing preferred embodiments of the technology without placing limitations thereon.
The technology described herein will be more fully understood by reference to the following drawings which are for illustrative purposes only:
The present technology is directed to 3D touch sensing technology configured for volume and power-constrained mobile devices with low cost, incorporating a single-layer 3D touch sensing system configured to detect the human finger position and gestures remotely when fingers are approaching the screen. As shown in the plot of
1. Touch Panel Hardware
To implement the various aspects of the present technology, a novel single-layer touch screen is disclosed, along with a highly sensitive capacitive sensing circuit specifically adapted for acquiring sensor data for 3D touchless position and gesture detection, as provided in further detail below.
a. Touch Panel Sensor Configuration
Each upper electrode 16 has an independent response within the upper response channels 12 and each lower electrode 18 has an independent response within the lower response channels 14. Each pair of triangular upper 16 and lower 18 electrodes are shaped and positioned to form an elongate rectangular swath along the length of the panel. This configuration provides Y direction detection ability through calculating the upper channels' 12 and lower channels' 14 detected finger capacitance ratio.
Moreover, the structure single-layer touch panel 10 also avoids the generation of diagonal ghost points that limit the traditional self-capacitive touch sensing to multi-touch detection. The triangular-shaped electrodes 16, 18 may create an ambiguity with respect to multiple-finger position if the fingers are exactly aligned together in the same X direction. However, this is a recoverable position error, as opposed to the totally different diagonal ghost points that occur in the normal two-layer touch panel. The configuration of
The electrode 16,18 sensitivity to remote finger position was tested to simulate the channel electrode's self-capacitance response versus the height of finger hovering above it. Due to the human body's large form factor, the finger has been modeled as a 10 cm-high-grounded cylinder with radius of 0.5 cm. The measured self-capacitance of the electrode can be regarded as the summation of the electrode's intrinsic capacitance and the finger-induced capacitance. As the simulation results show in
b. Touch Panel Modeling
In additional to the touch panel sensor pattern design, the suitable electrical modeling of the touch panel 10 also plays an important role in defining hardware circuit speculations and evaluating the system performance. The electrodes 16,18 of the touch panel 10 are generally fabricated through depositing a transparent thin film conductor, and in particular, indium tin oxide (ITO), on a screen with a sheet resistance between 10-100 Ohm/square. This large sheet resistance provides a routing resistance that cannot be ignored in the touch panel modeling. Furthermore, each touch panel electrode 16,18 will have a self-capacitance to the ground and mutual capacitance to its nearby electrodes. The self-to-ground capacitance serves as an additional load for the detection circuit so as reduce the system sensitivity and the mutual capacitance creates a shorting path from electrodes to electrodes, limiting the accuracy of finger position estimation.
In order to accurately model each parameter's effect on the system performance, the long electrode 16, 18 is deposited into several portions 20 on screen 15, providing an RC constant of each portion to be much smaller than the sensing signal's periods.
where the Rs is the sheet resistance of the ITO, L is the length of the electrode in Y direction, and Wu, Wd correspond to the upper and lower width of the electrodes 16,18 in the X directions in each portion 20, respectively.
c. Touch Panel Circuitry
The major sensing blocks of the BCDS system is an inverter based LC oscillator 42 that is modulated through the loading capacitance with its load capacitor end connected to the touch electrode channels 32. Each channel's load capacitance change is measured through monitoring the frequency change of the oscillator 42. This is achieved through a digital counter 46, and integrating the number of pulses coming from the oscillator 46 in a fixed time window 48. The digital counter 46 tracks the number of periods that the oscillator 42 exhibits in the fixed integration time to estimate the oscillator's frequency.
To remove the common noise effect and improve system sensitivity, each channel 32 is trimmed to one fixed reference load value through capacitor array 36 of individual capacitors 38 during initialization. A correlated double sampling method has been implemented through use of a dummy load 32a (wherein one of the sensor channels is disconnected to the panel and used as the dummy channel) to cancel the channel's intrinsic self-capacitance. In each acquisition, the oscillator 46 is first connected to the desired active input sensor channel for a given integration time and the counter 46 measure's the oscillator's frequency. It then switches (e.g. via a switch or buffer 44) or is connected to a dummy load 32a or channel with similar capacitance for the same integration time to repeat the measurement. The buffer 44 serves as an amplifier to amplify the oscillator 42 output so that the digital counter 46 can read. Sel control 50 configures the mux 54 to output measured frequency data from the counter to the correct register 56, and the difference between these two measured output codes is computed through block 58.
The CDS technique is implemented through outputting the oscillator's frequency difference between the active channel 32 and the dummy channel 32a. Since the dummy channel's load capacitance is equal to the reference load value, any low frequency noise will be suppressed through the subtraction operation, and the finger-induced capacitance becomes directly proportional to the frequency difference between these two measurements. By comparing the counter's 46 output code difference, the finger capacitance value can be derived as Eq. 2:
Since the dummy channel's and active channel's load property is well-matched, the system can cancel most of the low frequency noise (i.e. flick noise, thermal induced frequency drift, etc.) through a zero at the DC in its frequency response. The equivalent transfer function of the CDS can be derived as:
where t0 is the integration window time. When ƒ is close to DC, the transfer function can be approximated as Eq. 5, showing a zero at the DC:
H(f)=−2π sin c(πt0f)t02f. Eq. 5
Although the sensing mechanism is based on self-capacitive sensing, the large inter-channel coupling capacitance can also limit the system sensitivity, causing resolution degradation in the horizontal direction during the channel scanning process. For example, when the finger is hovering over one channel, the small fringe capacitance is directly coupled to the other channels through the inter-channel coupling capacitance, which gives an unwanted response on the other channels. This problem may be mitigated by grounding all unused channels. However, this results in a dramatic increment of the parasitic capacitance so as to degrade the system sensitivity.
To avoid sensitivity degradation and meanwhile isolate the inter-channel coupling, a bootstrapping circuitry 34 is provided as shown in greater detail in the schematic diagram of
2. Finger Position and Gesture Software
To reconstruct the finger position effectively, the finger position and gesture recognition methods of the present description preferably address several diverse challenges that are generally not critical in 2D touch sensing, such as extracting position information through much smaller detected finger capacitance, large coupling from other channels, and a reduced number of the sensing channels. In addition, the methods are preferably not too complicated in order to implement the methods as application programming or software encoded within the memory and power limitations of the mobile device AP.
To overcome these challenges, a simplified signal flow diagram for the whole backend digital processing method 60 is shown in
a. Grouping Software
The potential unwanted coupling capacitance of the touch panel 10 can cause system degradation, resulting in inaccurate finger position. This unwanted response can be categorized into two main parts: 1) body-introduced background capacitance; and 2) finger capacitance coupled from other channels. For example, when the finger is above a pair of channels (e.g. Channels 1 and 2) a separate (e.g. Channel 6) may see some fringe capacitance Cbackground due to the hand shape and the coupled active Cfinger through Cc. This results in inaccurate position estimation.
Even though the bootstrapping circuitry described above has cancelled much of the coupling capacitance, a small fractional leaked capacitance can still create finger position error. In additional to that, the body-introduced background capacitance is also sensed during the scanning, which creates ambiguity for the system to determine real finger position. To avoid this, a grouping filter as detailed in
Referring to
After categorizing, the channel responses 32 are separated into several groups 80, 82 of responses. Each group 80, 82 will then go through group filter to select the valid groups and filter out the invalid ones. The group filter is configured with two criteria (step 65 in
In this manner, the presented technology solves problems with fake channel response (due to body-induced background capacitance) in a touch screen sensing system. While a fake channel response may be acceptable with low-resolution conventional touch screens, there is a trend toward touch sensing to three dimensions in which the touch screen can detect the finger position remotely. This three-dimensional sensing often requires a much higher sensing resolution regarding finger capacitance and fake channel responses need to be filtered out.
Accordingly, in the example shown in
The group filtering method 62 illustrated in
1) acquire a signal from each of the output channels;
2) compare signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold, wherein a filtered set of signals remains;
3) identify a peak signal (n) in the filtered set of signals, wherein a peak signal comprises a signal that both preceded by (n−x) and followed by (n+x) a signal having a lower level, where x is an integer 1, 2, 3, . . . ;
4) assign the peak signal (n) and said preceding (n−x) and following (n+x) signals to a group;
5) increment x;
6) if the signal level for a preceding or following signal is less than or equal to the previous signal level, add that signal to the group;
7) repeat steps 5 and 6 until the group is complete;
8) fit the filtered out signals and the signals in the group to a curve and measure slope of the fitted curve;
9) designate the group as valid if at least one channel response in the group meets or exceeds a peak response threshold and the channel responses in the group has an average slope that meets or exceeds a defined slope threshold; and
10) output the valid signal groups as a filtered subset of the signals from the output channel.
In single-touch operations, when a touch occurs, there will be a peak response group in the corresponding nearby channels. In this embodiment, a group is defined as the peak envelope in the channel response (center-channel response is more than its left and right response). For single-touch application, the valid group number should only be one. All other groups which may have small peaks should be regarded as fake groups since it violates the single-touch principle. Accordingly, the following steps can be used to find the useful groups for calculating finger position.
Step 1: Find the maximum response 32d among all channels and compare with the threshold 86 to validate if there is a touch action or not (
Step 2: Group the corresponding nearby channels as the valid group 90 response and use them for signal processing, other peaks identified are classified as a fake response 92.
After the grouping filter, the output data will be passed to each of the X, Y, Z position calibration blocks 64, 66 and 68 to separately to calculate the instant position in different directions (see
b. Instant Y Position Calculation
The horizontal direction instant position is separated into X, Y directions, the system first uses the grouped data to determine the instant Y position and then estimate the instant X position information through the obtained instant Y position information.
The instant Y position information (block 64 in
By assuming the finger induced capacitance value is proportional to its shielded area, we can derive the Y position based on the channel-upper-to-lower ratio (rdc) according to Eq. 6 and Eq. 7:
where ΔCupper and ΔClower correspond to each upper 16 and lower 18 triangular electrode's sensed finger capacitance as shown in
To further remove the noise effects when one upper or lower channel's response is very small, a certain threshold may be added for the rdc value. When rdC exceeds the threshold, the response is set to a fixed value. The modified instant Y position equation is described in Eq. 8.
c. Instant X Position Calculation
The instant X position (block 66 of
Step 1: Find each electrode's center X position based on the finger's Y position obtained above, according to
Step 2: Calculate the weighted average of all the channels' center X position with their finger capacitive responses and output the average as the final X position according to
where Xcenter_i is the i channel's center X position at the certain Y finger value and the Xtop_i corresponds to the i channel's top-edge's middle point X position (points 95 in
d. Instant Z Position Calculation
The instant Z position calculation is based on the total measured finger-induced coupling capacitance on the touch panel 10. As the size of touch panel is much larger than the user's finger, the finger is modeled as a small circular disk on top of the plane. In this case, the coupling capacitance is a combination of the parallel coupling capacitance and fringing capacitance. Here the parallel coupling capacitance is inversely proportional to the finger height, while the fringing capacitance has a non-linear transfer function to finger height.
To obtain an accurate relationship between the capacitance and finger distance, we have used the 2nd order polynomial curve to fit the EM simulation results on the finger height versus channel's sensed finger capacitance. The 2nd order polynomial equation can be written as:
where α, β are constant coefficients obtained through curve fitting on the EM modeling result, A represents the finger surface area and ΔCi corresponds to the i channel's sensed finger capacitance. After Z position calculation is done, the X, Y, Z position is passed through a five-tap low pass IIR filter at reconstruction block 70 (
e. Position Reconstruction and Gesture Recognition
The final reconstructed finger position is based on the instant finger position information obtained from above. Since the finger is remote to the screen, any environmental or systemic noise can result a large variation on the calculated finger position, making the output finger position unstable. In addition, the environment can also generate some random peak noise due to the electromagnetic interference or background change, causing a large finger position jump from sample to sample.
To avoid this, a 5th order IIR filter has been implemented on the reconstruction block 70 (
In additional to the position detection 72, gesture recognition 74 can also be obtained through the sensed finger position. The difference between the position and gesture recognition is that for gesture recognition, it aims at to detect the trends of the finger movement instead of real finger position and target to provide a large sensing range than the position detection.
3. System Configuration
4. Experiment and Discussion
A prototype of the aforementioned air-touch 3D touch sensing system was build and tested. The first experiment was performed to check the CDS technique (see CDS module 40 of circuitry 30 shown in
a. Hardware Circuit Measurement
One of the techniques implemented to improve the hardware sensing resolution was through applying CDS method to reduce the noise in the system. To verify the effectiveness of this method, we connected a prototyped sensor with a standard HTC 3.4″ mobile touch screen array (Channel Number: X=16 Y=10).
During the measurement, we first recorded the sensor's counter's output when the sensor is connected to the reference channel (dummy load) and then repeat the measurement with the sensor connected to the active channel. Next, we plotted these two cases' values and compute each case's standard deviation. Then, we performed the subtraction operation to produce the CDS output.
Besides the CDS, the bootstrapping circuitry 34 was also implemented to reduce the inter-channel coupling effect so as to improve the hardware circuit resolution for finger position estimation in X,Y direction. To verify this, the sensed channel was fixed to a vertical channel located in the center of a screen as highlighted. The finger was moved from the left side of the screen to the right side with different heights, and the channel measured. It was found that when the finger's height was below 3 cm, the bootstrapping circuitry provides sufficient coupling isolation.
b. Air-touch Top System Performance Evaluation
The demonstration of the air-touch 3D Touch Sensing Concept was done through a prototype setup. The prototype system used a mobile-phone sized touch screen with a triangular electrode pattern as detailed before, a low power capacitive sensing circuit to sense the finger capacitance, an ARM-based microprocessor unit (MCU) and a laptop to calculate and display the reconstructed finger position.
The system was real-time updated with a sampling speed up to 30 times per second and a power consumption of 2.3 mW for the hardware sensing circuit. The experiment was conducted with user's finger hovering on top of the screen and moving both horizontally and vertically.
The experiment showed that the system achieves an X, Y direction resolution up to 1 cm (measured at a finger height at 1 cm) and Z direction detection range up to 6 cm with a resolution of 2 cm. The degradation of the Z direction resolution occurs with finger heights more than 3 cm due to the finger modeling inaccuracy. However, at this range, the interface will only require detection of movement gestures instead of pure accurate height.
Embodiments of the present technology may be described herein with reference to flowchart illustrations of methods and systems according to embodiments of the technology, and/or procedures, algorithms, steps, operations, formulae, or other computational depictions, which may also be implemented as computer program products. In this regard, each block or step of a flowchart, and combinations of blocks (and/or steps) in a flowchart, as well as any procedure, algorithm, step, operation, formula, or computational depiction can be implemented by various means, such as hardware, firmware, and/or software including one or more computer program instructions embodied in computer-readable program code. As will be appreciated, any such computer program instructions may be executed by one or more computer processors, including without limitation a general purpose computer or special purpose computer, or other programmable processing apparatus to produce a machine, such that the computer program instructions which execute on the computer processor(s) or other programmable processing apparatus create means for implementing the function(s) specified.
Accordingly, blocks of the flowcharts, and procedures, algorithms, steps, operations, formulae, or computational depictions described herein support combinations of means for performing the specified function(s), combinations of steps for performing the specified function(s), and computer program instructions, such as embodied in computer-readable program code logic means, for performing the specified function(s). It will also be understood that each block of the flowchart illustrations, as well as any procedures, algorithms, steps, operations, formulae, or computational depictions and combinations thereof described herein, can be implemented by special purpose hardware-based computer systems which perform the specified function(s) or step(s), or combinations of special purpose hardware and computer-readable program code.
Furthermore, these computer program instructions, such as embodied in computer-readable program code, may also be stored in one or more computer-readable memory or memory devices that can direct a computer processor or other programmable processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory or memory devices produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s). The computer program instructions may also be executed by a computer processor or other programmable processing apparatus to cause a series of operational steps to be performed on the computer processor or other programmable processing apparatus to produce a computer-implemented process such that the instructions which execute on the computer processor or other programmable processing apparatus provide steps for implementing the functions specified in the block(s) of the flowchart(s), procedure (s) algorithm(s), step(s), operation(s), formula(e), or computational depiction(s).
It will further be appreciated that the terms “programming” or “program executable” as used herein refer to one or more instructions that can be executed by one or more computer processors to perform one or more functions as described herein. The instructions can be embodied in software, in firmware, or in a combination of software and firmware. The instructions can be stored local to the device in non-transitory media, or can be stored remotely such as on a server, or all or a portion of the instructions can be stored locally and remotely. Instructions stored remotely can be downloaded (pushed) to the device by user initiation, or automatically based on one or more factors.
It will further be appreciated that as used herein, that the terms processor, hardware processor, computer processor, central processing unit (CPU), and computer are used synonymously to denote a device capable of executing the instructions and communicating with input/output interfaces and/or peripheral devices, and that the terms processor, hardware processor, computer processor, CPU, and computer are intended to encompass single or multiple devices, single core and multi-core devices, and variations thereof.
From the description herein, it will be appreciated that that the present disclosure encompasses multiple embodiments which include, but are not limited to, the following:
1. A touch panel configured for touchless or multi-touch detection, comprising: an array of triangular shaped sensing electrodes disposed along a surface of the touch panel; the array of sensing electrodes comprising a plurality of upper electrodes and matching number of lower electrodes; wherein each upper electrode has an upper end disposed at or near an upper edge of the panel and a lower end disposed at or near a lower edge of the panel, and wherein the upper end has a width that decreases downward along the length of the upper electrode to form a point at the lower end; wherein each upper lower electrode has an upper end disposed at or near an upper edge of the panel and a lower end disposed at or near a lower edge of the panel, and wherein the lower end has a width that decreases upward along the length of the lower electrode to form a point at the upper end; wherein an output of each upper electrode is coupled to a dedicated upper response channel; wherein an output of each lower electrode is coupled to a dedicated lower response channel; and wherein a presence of a finger at or near the surface of the touch panel may be detected and located as a function of calculating a capacitance ratio of the upper channels and lower channels.
2. The touch panel of any preceding embodiment: wherein each upper electrode and adjacent lower electrode form an electrode pair; and wherein each electrode pair is shaped and positioned to form an elongate rectangular swath substantially along a length between the upper edge and lower edge of the panel.
3. The touch panel of any preceding embodiment, wherein the electrodes are disposed within a single-layer on the touch panel.
4. The touch panel of any preceding embodiment, wherein the electrodes are configured to detect a location of the finger in three dimensions with respect to the surface of the touch panel via self-capacitive sensing of the finger.
5. The touch panel of any preceding embodiment, further comprising: an oscillator-based correlated double sampling (CDS) module coupled to the upper and lower channels; and wherein the oscillator-based CDS module is configured to configured to remove noise and enhance sensitivity of the electrode array.
6. The touch panel of any preceding embodiment, wherein the oscillator-based CDS module comprises trimming capacitive array.
7. The touch panel of any preceding embodiment: wherein the touch panel comprises a display screen; and wherein the electrode array is deposited on the panel as a transparent thin-film conductor.
8. The touch panel of any preceding embodiment, wherein the electrodes are deposited as a plurality of discrete lumped RC circuits.
9. The touch panel of any preceding embodiment, further comprising: a bootstrapping circuit coupled to the upper and lower channels; the bootstrapping circuit comprising a tracking amplifier configured to isolate and remove inter-channel coupling capacitance between the sensing electrodes.
10. The touch panel of any preceding embodiment, further comprising: a grouping filter configured to categorize responses from the upper and lower channels and remove responses not meeting one or more criteria applied to the responses.
11. An apparatus for finger position detection, the apparatus comprising: (a) a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel is associated with a channel response for that channel; and (b) a digital filter coupled to the output channels, the digital filter configured to transform signals received from the output channels into a filtered subset by performing steps comprising: (i) categorizing the channel responses into one or more groups; (ii) applying one or more criteria to the one or more groups; and (iii) filtering out any groups that do not meet the one or more criteria.
12. The apparatus of any preceding embodiment, wherein categorizing the channel responses into one or more groups comprises: acquiring a signal from each of the output channels; comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold such that a filtered set of signals remains; identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that is both preceded and followed by a signal having a lower level; and assigning the peak signal and neighboring signals to a group.
13. The apparatus of any preceding embodiment, wherein assigning the peak signal and neighboring signals to a group comprises: assigning the peak signal and said preceding signal and following signal to a group; and assigning any additional preceding signals or following signals to the group if said additional preceding signals or following signals have a level lower than or equal to the level of an immediately adjacent signal.
14. The apparatus of any preceding embodiment, wherein applying one or more criteria to the one or more groups comprises: fitting the filtered out signals and the signals in the group to a curve and measuring slope of the fitted curve; and designating the group as valid if at least one channel response in the group meets or exceeds a peak response threshold and the channel responses in the group has an average slope that meets or exceeds a defined slope threshold.
15. The apparatus of any preceding embodiment, wherein filtering out any groups that do not meet the one or more criteria comprises outputting any valid signal groups as a filtered subset of the signals from the output channel.
16. The apparatus of any preceding embodiment, wherein said digital filter comprises a computer processor and memory storing instructions executable by the computer processor circuit to perform steps (i) through (iii).
17. The apparatus of any preceding embodiment, further comprising: (c) at least one instant position calculation module for calculating a position of a finger touching or above the touch panel.
18. The apparatus of any preceding embodiment, wherein the plurality of capacitive sensing electrodes comprises pairs of adjacent upper sensing electrodes and lower sensing electrodes; and wherein the at least one instant position calculation module is configured to calculate the position of the finger by performing steps comprising: calculating an instant Y position by comparing channel responses of upper sensing electrodes and channel responses of lower sensing electrodes; and calculating an instant X position by using the calculated instant Y position to define an X direction center position of each sensing electrode and calculate the instant X position based on a weighted average of all the X direction center positions.
19. The apparatus of any preceding embodiment, wherein the instant position calculation module is further configured to calculate the Z position of the finger by performing steps comprising: measuring a total finger-induced capacitance of the touch panel.
20. The apparatus of any preceding embodiment, further comprising: (d) a gesture recognition model configured to receive measured finger position data and generate a trend of a finger movement.
21. The apparatus of any preceding embodiment, wherein the gesture recognition module is configured to generate a trend of the finger movement by performing steps comprising: obtaining derivations of the obtained instant finger position in X, Y and Z directions; applying an integration window to the obtained derivations to generate an integration value; comparing the integration value to a threshold value to determine if a direction's movement exists; and generating gesture recognition output.
22. An apparatus for finger position detection, the apparatus comprising: (a) a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel is associated with a channel response for that channel; and (b) a processor coupled to the output channels, (c) a non-transitory memory storing instructions executable by the processor; (d) wherein said instructions, when executed by the processor, are configured to transform signals received from the output channels into a filtered subset by performing steps comprising: (i) categorizing the channel responses into one or more groups; (ii) applying one or more criteria to the one or more groups; and (iii) filtering out any groups that do not meet the one or more criteria.
23. The apparatus of any preceding embodiment, wherein categorizing the channel responses into one or more groups comprises: acquiring a signal from each of the output channels; comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold such that a filtered set of signals remains; identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that is both preceded and followed by a signal having a lower level; and assigning the peak signal and neighboring signals to a group.
24. The apparatus of any preceding embodiment, wherein categorizing the channel responses into one or more groups comprises: acquiring a signal from each of the output channels; comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold such that a filtered set of signals remains; identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that is both preceded and followed by a signal having a lower level; and assigning the peak signal and neighboring signals to a group.
25. The apparatus of any preceding embodiment, wherein assigning the peak signal and neighboring signals to a group comprises: assigning the peak signal and said preceding signal and following signal to a group; and assigning any additional preceding signals or following signals to the group if said additional preceding signals or following signals have a level lower than or equal to the level of an immediately adjacent signal.
26. The apparatus of any preceding embodiment, wherein applying one or more criteria to the one or more groups comprises: fitting the filtered out signals and the signals in the group to a curve and measuring slope of the fitted curve; and designating the group as valid if at least one channel response in the group meets or exceeds a peak response threshold and the channel responses in the group has an average slope that meets or exceeds a defined slope threshold.
27. The apparatus of any preceding embodiment, wherein filtering out any groups that do not meet the one or more criteria comprises outputting any valid signal groups as a filtered subset of the signals from the output channel.
28. The apparatus of any preceding embodiment, wherein said instructions when executed by the processor further perform steps comprising: (iv) calculating a position of a finger touching or above the touch panel.
29. The apparatus of any preceding embodiment, wherein the plurality of capacitive sensing electrodes comprises pairs of adjacent upper sensing electrodes and lower sensing electrodes; and wherein said instructions when executed by the processor further perform steps comprising: calculating an instant Y position by comparing channel responses of upper sensing electrodes and channel responses of lower sensing electrodes; and calculating an instant X position by using the calculated instant Y position to define an X direction center position of each sensing electrode and calculate the instant X position based on a weighted average of all the X direction center positions.
30. The apparatus of any preceding embodiment, wherein said instructions when executed by the processor further perform steps comprising: calculating the Z position of the finger by measuring a total finger-induced capacitance of the touch panel.
31. The apparatus of any preceding embodiment, wherein said instructions when executed by the processor further perform steps comprising: (v) receiving measured finger position data and generating a trend of a finger movement.
32. The apparatus of any preceding embodiment, wherein generating a trend of the finger movement comprises: obtaining derivations of the obtained instant finger position in X, Y and Z directions; applying an integration window to the obtained derivations to generate an integration value; comparing the integration value to a threshold value to determine if a direction's movement exists; and generating gesture recognition output.
33. A touch panel apparatus for finger position detection, the apparatus comprising: (a) a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel denotes channel response for that channel; (b) a digital filter circuit connected to the output channels which transforms signals received from the output channels into a filtered subset by performing steps comprising: (i) acquiring a signal from each of the output channels; (ii) comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold, wherein a filtered set of signals remains; (iii) identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that both preceded and followed by a signal having a lower level; (iv) assigning the peak signal and said preceding and following signals to a group; (v) assigning additional preceding or following signal to the group if said additional signal has a level lower than or equal to the level of an immediately adjacent signal; (vi) fitting the filtered out signals and the signals in the group to a curve and measuring slope of the fitted curve; (vii) designating the group as valid if at least one channel response in the group meets or exceeds a peak response threshold and the channel responses in the group has an average slope that meets or exceeds a defined slope threshold; and (viii) outputting the valid signal groups as a filtered subset of the signals from the output channel; (c) wherein said digital filter circuit comprises a computer processor circuit and memory storing instructions executable by the computer processor circuit to perform steps (i) through (viii).
34. A touch panel apparatus for finger position detection, the apparatus comprising: (a) a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel denotes channel response for that channel; (b) a digital filter circuit connected to the output channels which transforms signals received from the output channels into a filtered subset by performing steps comprising: (i) acquiring a signal from each of the output channels; (ii) comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold, wherein a filtered set of signals remains; (iii) identifying a peak signal (n) in the filtered set of signals, wherein a peak signal comprises a signal that both preceded by (n−x) and followed by (n+x) a signal having a lower level, where x is an integer 1, 2, 3, . . . ; (iv) assigning the peak signal (n) and said preceding (n−x) and following (n+x) signals to a group; (v) incrementing x; (vii) if signal level for a preceding or following signal is less than or equal to the previous signal level, adding that signal to the group; (viii) repeating steps (v) and (viii) until the group is complete; (ix) fitting the filtered out signals and the signals in the group to a curve and measuring slope of the fitted curve; (x) designating the group as valid if at least one channel response in the group meets or exceeds a peak response threshold and the channel responses in the group has an average slope that meets or exceeds a defined slope threshold; and (xi) outputting the valid signal groups as a filtered subset of the signals from the output channel; (c) wherein said digital filter circuit comprises a computer processor circuit and memory storing instructions executable by the computer processor circuit to perform steps (i) through (xi).
35. A filter for a touch panel, comprising: (a) an interface circuit configured to interface with a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel denotes channel response for that channel; (b) a computer processor circuit and memory storing instructions executable by the computer processor circuit to perform steps comprising: (i) acquiring a signal from each of the output channels; (ii) comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold, wherein a filtered set of signals remains; (iii) identifying a peak signal in the filtered set of signals, wherein a peak signal comprises a signal that both preceded and followed by a signal having a lower level; (iv) assigning the peak signal and said preceding and following signals to a group; (v) assigning additional preceding or following signal to the group if said additional signal has a level lower than or equal to the level of an immediately adjacent signal; (vi) fitting the filtered out signals and the signals in the group to a curve and measuring slope of the fitted curve; (vii) designating the group as valid if at least one channel response in the group meets or exceeds a peak response threshold and the channel responses in the group has an average slope that meets or exceeds a defined slope threshold; and (viii) outputting the valid signal groups as a filtered subset of the signals from the output channel.
36. A filter for a touch panel, comprising: (a) an interface circuit configured to interface with a touch panel having a plurality of capacitive sensing electrodes configured to output signals on a plurality of output channels, wherein an output signal level on an output channel denotes channel response for that channel; (b) a computer processor circuit and memory storing instructions executable by the computer processor circuit to perform steps comprising: (i) acquiring a signal from each of the output channels; (ii) comparing signal level for each channel to a low-level threshold and filtering out any signal having a level below the low-level threshold, wherein a filtered set of signals remains; (iii) identifying a peak signal (n) in the filtered set of signals, wherein a peak signal comprises a signal that both preceded by (n−x) and followed by (n+x) a signal having a lower level, where x is an integer 1, 2, 3, . . . ; (iv) assigning the peak signal (n) and said preceding (n−x) and following (n+x) signals to a group; (v) incrementing x; (vii) if signal level for a preceding or following signal is less than or equal to the previous signal level, adding that signal to the group; (viii) repeating steps (v) and (viii) until the group is complete; (ix) fitting the filtered out signals and the signals in the group to a curve and measuring slope of the fitted curve; (x) designating the group as valid if at least one channel response in the group meets or exceeds a peak response threshold and the channel responses in the group has an average slope that meets or exceeds a defined slope threshold; and (xi) outputting the valid signal groups as a filtered subset of the signals from the output channel.
37. A method for finger position detection using any of the previous embodiments or elements disclosed therein.
Although the description herein contains many details, these should not be construed as limiting the scope of the disclosure but as merely providing illustrations of some of the presently preferred embodiments. Therefore, it will be appreciated that the scope of the disclosure fully encompasses other embodiments which may become obvious to those skilled in the art.
In the claims, reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” All structural, chemical, and functional equivalents to the elements of the disclosed embodiments that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. No claim element herein is to be construed as a “means plus function” element unless the element is expressly recited using the phrase “means for”. No claim element herein is to be construed as a “step plus function” element unless the element is expressly recited using the phrase “step for”.
Zhang, Yan, Chang, Mau-Chung Frank, Liu, Chunchen, Du, Li
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
8519965, | Apr 23 2008 | Google Technology Holdings LLC | Multi-touch detection panel with disambiguation of touch coordinates |
9223337, | Jan 21 2013 | Focaltech Systems, Ltd. | Single layer self-capacitance touch screen realizing multi-touch identification as well as its data processing method |
20090267903, | |||
20100295813, | |||
20110025638, | |||
20140292715, | |||
20150092121, | |||
20150109242, | |||
WO2015138984, | |||
WO2017197041, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 08 2018 | The Regents of the University of California | (assignment on the face of the patent) | / | |||
Dec 07 2018 | CHANG, MAU-CHUNG FRANK | The Regents of the University of California | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 048416 | /0697 | |
Dec 07 2018 | ZHANG, YAN | The Regents of the University of California | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 048416 | /0697 | |
Dec 12 2018 | DU, LI | The Regents of the University of California | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 048416 | /0697 | |
Feb 14 2019 | LIU, CHUNCHEN | The Regents of the University of California | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 048416 | /0697 |
Date | Maintenance Fee Events |
Nov 08 2018 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Nov 29 2018 | SMAL: Entity status set to Small. |
Date | Maintenance Schedule |
Nov 16 2024 | 4 years fee payment window open |
May 16 2025 | 6 months grace period start (w surcharge) |
Nov 16 2025 | patent expiry (for year 4) |
Nov 16 2027 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 16 2028 | 8 years fee payment window open |
May 16 2029 | 6 months grace period start (w surcharge) |
Nov 16 2029 | patent expiry (for year 8) |
Nov 16 2031 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 16 2032 | 12 years fee payment window open |
May 16 2033 | 6 months grace period start (w surcharge) |
Nov 16 2033 | patent expiry (for year 12) |
Nov 16 2035 | 2 years to revive unintentionally abandoned end. (for year 12) |