Input devices (e.g., a touch panel or touch pad) are designed to detect the application of an object and to determine one or more specific characteristics of or relating to the object as relating to the input device, such as the location of the object as acting on the input device, the magnitude of force applied by the object to the input device, etc. Examples of some of the different applications in which input devices may be found include computer display devices, kiosks, games, point of sale terminals, vending machines, medical devices, keypads, keyboards, and others.
In a force-based touch panel device, the characteristics used to detect an application of an object to the device are measured by determining the force or acceleration that occurs at the device. Shaking and vibration caused by external effects other than the object on the input device are also detected as a force or acceleration that occurs at the device. Thus, when a force-based touch panel device is used in an environment that is subject to such external vibrations, the effect of the vibrations is to reduce the accuracy of a reported touch location on the input device.
One attempt to reduce the effect of external vibrations on a force-based touch panel involves a complicated process of calibrating the touch panel by taking readings from many different force and acceleration sensors while touching the touch panel in a large number of locations. These readings are then processed on a separate computer to determine a set of calibration coefficients used to correct for the vibration effects. This method requires a significant amount of user interaction to run the calibration process. Additionally, if the touch panel is moved, or the vibration environment changes, the system must be recalibrated. Thus, this method is significantly limited for practical applications.
A system and method for reducing vibrational effects on a force-based touch panel are disclosed. The method includes sensing a force applied to the touch panel using at least one force sensor to obtain at least one force sensor signal. A vibrational acceleration of the force-based touch panel is measured to form an acceleration signal. The vibrational acceleration adds a vibration induced signal to the at least one force sensor signal. The vibration induced signal is adaptively filtered from the at least one force sensor signal by adjusting filter characteristics of an adaptive vibration filter to remove substantially all of the vibration induced signal from the at least one force sensor signal to form at least one vibration-reduced force sensor signal. A location of the force applied to the touch panel from the at least one vibration-reduced force sensor signal is calculated. A user application associated with the touch panel can be updated based on the calculated location of the force on the touch panel.
A system for reducing vibrational effects on a force-based touch panel is also disclosed. The system comprises at least one force sensor operable with the force-based touch panel to measure a force applied to the touch panel to provide at least one force sensor signal. An accelerometer operable with the force-based touch panel is used to sense a vibrational acceleration of the force-based touch panel to form an acceleration signal. The vibrational acceleration adds a vibration induced signal to the at least one force sensor signal. An adaptive vibration filter is used to adaptively filter the vibration induced signal from the at least one force sensor signal by adjusting filter characteristics of the adaptive vibration filter to remove substantially all of the vibration induced signal from the at least one force sensor signal.
Features and advantages of the invention will be apparent from the detailed description which follows, taken in conjunction with the accompanying drawings, which together illustrate, by way of example, features of the invention; and, wherein:
a is a block diagram of an adaptive vibration filtering algorithm in accordance with an embodiment of the present invention;
b is a block diagram of a preconditioning algorithm used with the adaptive vibration filtering algorithm in accordance with an embodiment of the present invention; and
Reference will now be made to the exemplary embodiments illustrated, and specific language will be used herein to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended.
A location of a user's touch on a force-based touch panel is typically calculated using a plurality of force sensors. For example, a force sensor may be positioned at each of the four corners of the touch panel. The touch location can be determined based on the amount of force sensed by the sensors in each corner. However, external vibrations are also detected by the force-based touch panel force sensors, with the detected force being proportional to the mass of the touch panel times the acceleration caused by the vibration. The external vibration can cause noise and inaccuracies in the force sensor signals, thereby leading to an inaccurate determination of a user's touch location on the panel. The random and changing nature of external vibrations on a force-based touch panel make it difficult to reduce the vibrational effects on the touch panel.
For example, a user may touch an “enter” button that is displayed in a graphical user interface associated with the force-based touch panel to enter information into a computer. If the touch location is calculated inaccurately it may be incorrectly calculated that the enter key was not touched, thereby requiring the user to make repeated attempts to push the enter button. Thus, the ability to correctly calculate a location of a user's touch can be critical to the use of the touch panel.
It has been discovered that adaptive filtering can be used to substantially reduce and eliminate the effects of external vibrations on a force-based touch panel in order to improve the touch panel's accuracy. The use of adaptive filtering enables the inaccuracies caused by external vibrations that are detected in force sensor signals to be reduced without the need for complex and lengthy calibration procedures. Additionally, adaptive filtering enables the vibrational effects on the force sensor signals to be continuously reduced even with changes in the vibration that occur over time. Adaptive filtering can be accomplished using one or more accelerometers to measure the external vibrations. This implementation is simple and effective, enabling the use of vibrational signal reduction technology without significant additional costs to force-based touch panel products.
In one embodiment, the accelerometer can be mounted to the same structure as the touch panel, thereby enabling the accelerometer to detect substantially similar vibrations that affect the touch panel. The accelerometer is typically mounted to the support structure of the touch panel, and not to the touch panel itself. This minimizes the affect of a user's touch being detected by the accelerometer. The accelerometer can be mounted rigidly to the touch panel support structure to allow the accelerometer to accurately measure vibrations that affect the touch panel. For example, it can be mounted on a printed circuit board (PCB) that is attached to the support structure.
The accelerometer may be a micro-electro-mechanical system (MEMS) type accelerometer. Alternatively, the accelerometer may be a mass that is attached to a force sensor, such as a beam having strain sensors located on the beam to measure the force caused by the acceleration of the beam's mass.
It should be noted that the present invention is different from active vibration cancellation. Active vibration cancellation is the process of actively reducing vibrations by compensating for the vibrations with a mechanical system that is used to reduce the magnitude of vibrations. The use of adaptive filtering, as previously discussed, does not mechanically remove the external vibrations experienced by the force-based touch panel. Rather, the adaptive filtering is used to cancel or substantially reduce the effects of the vibration on the force sensor's electronic signal.
Each adaptive vibration filtering algorithm 108 can be connected to a force sensor 104 and the accelerometer 112. A comparison of the force sensor signal 106 from each sensor with the accelerometer signal 114 can then be used to adaptively filter the effects of the vibration from each force sensor signal to output a corrected force sensor signal 116 for each force sensor signal. A position calculator 118 can then more accurately determine a location of the user's touch on the force-based touch panel based on the values of each of the corrected force sensor signals. The position calculator can output an X and a Y coordinate that corresponds to a location of the touch on the panel. Hardware, firmware, or software can then provide the proper response to the touch based on the accurately measured location of the touch on the touch panel. For example, a graphical user interface or other type of interface that is associated with the panel can be accurately updated or changed based on the location of the touch, as previously discussed.
In another embodiment illustrated in
A hybrid approach to the embodiments illustrated in
a illustrates a block diagram of an adaptive vibration filtering algorithm. A preconditioning algorithm 410 for the force sensor signal 402 and the vibration signal 406 are shown. The preconditioning algorithms are used to prepare each of the signals for the adaptive filter by removing any direct current (DC) offsets. Additionally, high frequency components in the signals that are not caused by a user pressing the touch panel can be removed.
It should be noted that the accelerometer may have a DC component, or may be configured such that there is no DC component. Examples of accelerometers that inherently have no DC response are piezoelectric accelerometers and dynamic accelerometers. Dynamic accelerometers have a coil that moves in a magnetic field. Accelerometers that have a DC component include piezoresistive accelerometers and some types of MEMS accelerometers that include integrated signal conditioning. The use of any of these types of accelerometers is considered to be within the scope of the present invention.
One embodiment of a preconditioning algorithm 410 is illustrated in
The output 424 from the second low pass filter 416 can be input to a decimator 426 to be decimated in order to zoom in to a frequency band of interest. It should be noted that the only component of the preconditioning block that is required for the operation of the adaptive noise cancellation algorithm is the removal of the DC offset. If the output of the force sensor and the accelerometer does not have a DC offset, then the preconditioning block may not be needed.
There may be some differences in preconditioning the force sensor signal 402 and the acceleration signal 406 (
The second low pass filter 416 can be used to remove the high frequency components of the input signal. In one embodiment, a finite impulse response (FIR) filter with a 3 dB cut-off frequency of 12 Hz can be used. This cutoff frequency is set sufficiently high to pass the touch data while still rejecting noise that is not part of the touch data. Alternatively, an infinite impulse response (IIR) filter may be used with a similar cutoff frequency.
The decimator 426 can be used to reduce the number of samples that are processed by keeping one out of every N samples and discarding the remaining samples. This operation also reduces the sampling rate and effectively zooms in on the frequency spectrum by a factor of N. Also, it reduces the number of filter coefficients that are used by the adaptive vibration filtering algorithm 408 (
In order to avoid significant aliasing of the higher frequencies in the input signal 424, a trade-off is made between the decimation level and the low-pass filter cutoff frequency. For example, with a sampling rate of 800 Hz and a signal bandwidth of 40 Hz, after low-pass filtering, any decimation level that is less than or equal to ten can be used without introducing aliasing. In a typical system with a sample rate of 800 Hz, a decimation level of four can be used because the second low-pass filter doesn't substantially limit the bandwidth within 40 Hz.
In the frequency domain, the vibration that is detected by the accelerometer will typically include a number of frequencies. For example, the vibration may be substantially comprised of vibrational energy having a frequency of 18 Hz, 36 Hz, 54 Hz, and 72 Hz. Many of these frequencies will also be in the vibration induced signal in the force sensor signal. For example, the vibration induced signal, when viewed in the frequency domain, may include 18 Hz, 36 Hz, and 54 Hz. The frequencies from the vibration signal that are also in the vibration induced signal portion of the force sensor signal are referred to as correlated. Frequencies in the vibration signal that do not appear in the vibration induced portion of the force sensor signal, such as the 72 Hz component in this example, are said to be uncorrelated.
Referring again to
The coefficients of the digital filter 430 are adapted by the update algorithm 438 in such a manner that a substantially maximum amount of the correlated portion of the vibration signal 432 is removed from the force sensor signal 431. The digital filter may use any number of coefficients depending on the effect of the vibration signal 406 on the force signal 402. Although any filter length can be used, a typical implementation of the digital filter is an 8-tap FIR filter. Lower filter lengths can result in less rejection of the correlated vibration signal. The use of higher filter lengths can require more processing operations per input sample. An appropriate infinite impulse response filter may also be used.
The update algorithm 438 is defined by the type of adaptive algorithm that is selected. There are many common methods of updating the filter coefficients. An explanation of some standard methods can be found in “Fundamentals of Adaptive Filtering” by Ali H. Sayed (ISBN 0471461261) or “Adaptive Filters Theory and Applications” by Behrouz Farhang-Boroujeny (ISBN 0471983373). Standard methods include the least mean square (LMS), normalized least mean square (NLMS), affine projection adaptive filtering (APA), recursive least square (RLS), and their derivatives.
The method selected for the update algorithm 438 is dependent on various conditions, such as the speed at which frequency content of the vibration changes, the environment in which the force-based touch panel will be located, the type of hardware used to implement the algorithm, and so forth. In one embodiment, one or more of the above listed methods may be selected as the update algorithm. For example, a first method such as RLS may be selected based on the algorithms ability to quickly estimate the correlation between two signals. A second algorithm may then be used after correlation of the signals has been achieved, such as the LMS algorithm, based on its simplicity and ability to detect changes in the two signals.
Assuming that the preconditioning has already been accomplished, one embodiment for implementing the adaptive vibration filter algorithm 408 is summarized in the following algorithm.
The output 432 y(n) of the digital FIR filter 430 can be calculated using the equation:
The error output signal 440 e(n) can be calculated as:
e(n)=x(n)−y(n).
An estimate of the input signal's 429 (v(n)) power can be calculated as:
p(n)=βp(n−1)+(1−β)v(n)2.
The filter coefficients 430 can then be updated using the equation:
The variables used in this algorithm are defined as follows:
In one exemplary embodiment, the initial conditions used in the adaptive vibration filter algorithm are:
The adaptive filter update algorithm 438 can be disabled when the touch panel is pressed. Disabling the adaptive filter algorithm at the time a force is applied to the touch panel prevents the adaptive filter from attempting to filter out the data that is caused by a press on the touch panel. One possible method of enabling/disabling the update algorithm is to enable or disable the update algorithm in synchronization with the enabling/disabling of the baseline estimation as is done in some location calculation methods. This effectively stops the filter coefficients from being updated for a predetermined period. Enabling and disabling the update algorithm during a baseline estimation is disclosed in U.S. Pat. No. 7,337,085 to Soss, which is herein incorporated by reference.
Alternatively, a linear combination of the force sensor signals can used to determine when the touch panel is pressed. The update algorithm 438 can be enabled or disabled based on how the linear combination compares with a selected threshold.
The output signal 440 from the adaptive vibration filter algorithm 408 is used to calculate the location of a press on the touch panel. This algorithm can be run on the same processor that is used to process the touch panel data. Alternatively, a separate processor or specialized hardware can be used, as can be appreciated. In particular, the methods and algorithms can be performed wholly or in part through the use of analog electronic circuits.
Another embodiment of the invention provides a method for reducing vibrational effects on a force-based touch panel, as depicted in the flow chart of
Another operation of the method 500 includes adaptively filtering 530 the vibration induced signal from the at least one force sensor signal by adjusting filter characteristics of an adaptive vibration filter to remove substantially all of the vibration induced signal from the at least one force sensor signal to form at least one vibration-reduced force sensor signal. The filter characteristics of the adaptive vibration filter can be adjusted based on a correlation between the vibration induced signal and the acceleration signal.
The method 500 includes an additional operation of calculating 540 a location of the force applied to the touch panel from the at least one vibration-reduced force sensor signal. A user application can then be updated 550 based on the calculated location of the force. The update may involve a change in a graphical interface that is associated with the touch panel, such as the display of a different panel or graphical interface. Alternatively, a component in a graphical interface may be changed, moved, resized, activated, and so forth. Alternatively, a user application that does not include a display can be updated or changed based on the calculated location of the force.
While the forgoing examples are illustrative of the principles of the present invention in one or more particular applications, it will be apparent to those of ordinary skill in the art that numerous modifications in form, usage and details of implementation can be made without the exercise of inventive faculty, and without departing from the principles and concepts of the invention. Accordingly, it is not intended that the invention be limited, except as by the claims set forth below.
Priority of U.S. Provisional patent application Ser. No. 60/931,400 filed on May 22, 2007 is claimed, and is hereby incorporated by reference.
| Number | Date | Country | |
|---|---|---|---|
| 60931400 | May 2007 | US |