# Patent

## Title
Systems and methods for resonance detection

## Abstract

Systems and methods for resonance detection are disclosed. For example, one method for resonance detection includes the step of transmitting an actuator signal to an actuator coupled to a surface of a device. The actuator signal is configured to cause the actuator to output a force to the surface. The method further includes the steps of receiving a response of the surface to the force; determining a resonant frequency of the surface based at least in part on the response; and outputting a signal indicative of the resonant frequency.

## Background
FIELD OF THE INVENTION
The present invention generally relates to systems and methods for resonance detection.
BACKGROUND
Electronic device manufacturers strive to produce a rich interface for users. Conventional devices utilize visual and auditory cues to provide feedback to a user. In some interface devices, kinesthetic feedback (such as active and resistive force feedback), and/or tactile feedback (such as vibration, texture, and heat), is also provided to the user, more generally known collectively as “haptic feedback.” Haptic feedback can provide cues that enhance and simplify the user interface.
Some conventional devices may not be capable of outputting haptic effects to a user input surface. For example, a touch screen may not have the ability to provide tactile cues to a user. If such a device is equipped to output haptic effects, those haptic effects may be of low quality if characteristics of the touch screen are not considered when generating the haptic effects.
SUMMARY
Embodiments of the present invention provide systems and methods for resonance detection. For example, one embodiment of the present invention comprises a method for resonance detection comprising transmitting an actuator signal to an actuator coupled to a surface of a device, the actuator signal configured to cause the actuator to output a force to the surface; determining a response of the surface to the force; determining a resonant frequency of the surface based at least in part on the response; and outputting the resonant frequency. Another embodiment comprises a computer-readable medium having program code for carrying out such a method.
These illustrative embodiments are mentioned not to limit or define the invention, but to provide examples to aid understanding thereof. Illustrative embodiments are discussed in the Detailed Description, and further description of the invention is provided there. Advantages offered by various embodiments of this invention may be further understood by examining this specification.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other features, aspects, and advantages of the present invention are better understood when the following Detailed Description is read with reference to the accompanying drawings, wherein:
FIG. 1 is a block diagram illustrating a system for resonance detection according to one embodiment;
FIG. 2 is a graph of the frequency of vibration of a surface during excitation and as the surface returns to rest according to one embodiment;
FIG. 3 is a flowchart of a method for resonance detection according to one embodiment;
FIGS. 4 and 5 are illustrations of waveforms to be generated by an actuator according to one embodiment;
FIG. 6 is a graph illustrating a response to an actuator signal according to one embodiment;
FIG. 7 is a graph illustrating a response to an actuator signal according to one embodiment of the present invention;
FIG. 8 is a block diagram illustrating a system for resonance detection according to one embodiment; and
FIGS. 9A and 9B are block diagrams illustrating systems for resonance detection according to a first and a second embodiment, respectively.



DETAILED DESCRIPTION
Embodiments of the present invention provide systems and methods for resonance detection. Methods, systems, and products according to the present invention may be embodied in a number of ways, a non-exhaustive description of which is described below.
Illustrative Resonance Detection
According to one example embodiment, a factory manufactures cellular telephones having haptically-enabled touch screens. The cell phones are configured with piezo-electric actuators to output haptic effects to the touch screens at approximately the mechanical resonant frequency of the touch screen. It may be advantageous to output forces at the resonant frequency of the touch screen because resonant vibrations can more efficiently cause large magnitude vibrations on the touch screen.
However, because the manufacturing process is prone to variation, the resonant frequency of the touch screens in the cell phones may vary. Thus, it may be desirable to individually determine the resonant frequency for each touch screen. The factory may thus employ one or more embodiments to efficiently determine the resonant frequency of a surface, such as a touch screen, on a cell phone.
According to one illustrative embodiment, a system for resonance detection comprises a processor, an actuator, and a sensor. The actuator is configured to receive an actuator signal from the processor and to output a vibration to a surface. The sensor is coupled to the surface and is configured to transmit a sensor signal to the processor indicating the movement of the surface. The processor then instructs the actuator to stop vibrating the surface. The processor then analyzes the movement of the surface as it returns to rest to determine the resonant frequency of the surface. After determining the resonant frequency, the processor may store the resonant frequency in a computer-readable medium associated with the surface. For example, if the surface is a touch screen on a mobile phone, the system may store the resonant frequency in a memory chip within the mobile phone to configure the phone to use the touch screen's resonant frequency.
Such an illustrative embodiment may be advantageous in a manufacturing process because it may allow fast resonant frequency determination of different surfaces in an assembly line process without specialized hardware, and may provide more accurate results as the process is able to measure the resonant frequency of each surface, rather than a representative sample.
This example is given to introduce the reader to the general subject matter discussed herein. The invention is not limited to this example. The following sections describe various embodiments of systems and methods for resonance detection.
System for Resonance Detection
FIG. 1 is a block diagram illustrating a system 100 for resonance detection according to one embodiment of the present invention. In the illustrative embodiment shown in FIG. 1, the system 100 comprises a computer 101, or other processor-based device, a touch screen 102, and an actuator 103. The computer 101 comprises a processor 110, and is in communication with both the actuator 103 and the touch screen 102. The processor 110 is configured to output an actuator signal to the actuator 103, and to receive an input signal from the actuator 103. The touch screen 102 includes a surface, and a sensor for sensing contact with the surface. In some embodiments of the present invention, the surface comprises a contact surface or a surface intended to be contacted by the user, such as the surface of a touch screen. The actuator 103 comprises a piezo-electric element, and is in communication with the touch screen 102. The actuator 103 is configured to output a force to the touch screen 102. While the actuator 103 used in this illustrative embodiment comprises a piezo-electric actuator, other suitable actuators may be used, and a plurality of actuators of the same or different types may be used as well.
As is known in the art, a piezo-electric element is both capable of outputting forces, and sensing forces applied to the piezo-electric element. When compressed or stretched, a piezo-electric element generates a voltage that can be measured, and used to determine the amount of compression or tension applied.
The system 100 shown in FIG. 1 can determine the resonant frequency of the surface of the touch screen 102. According to this illustrative embodiment, the processor 110 generates an actuator signal and transmits it to the actuator 103. The actuator 103 outputs a force to the touch screen 102 to cause the surface of the touch screen 102 to vibrate. The processor 110 receives a signal from the actuator 103, generated by the piezo-electric element in response to movement by the surface, indicating a response of the surface to the force. The computer 101 then analyzes the response and determines a resonant frequency of the surface.
In the illustrative embodiment, the processor 110 transmits an actuator signal comprising a square wave at a selected frequency to the actuator 103. The actuator 103 outputs a force to the surface having a frequency approximately the same as the actuator signal, causing the surface to vibrate. When the processor 110 stops transmitting the actuator signal, the actuator 103 stops outputting the force, and the surface is allowed to return to rest.
As the surface returns to rest, it will compress and stretch the piezo-electric actuator, generating voltages that are transmitted to the processor. The processor measures the voltages and determines the period of the surface's vibrations as it returns to rest based at least in part on the measured voltages. The measured period (T) can be converted to a frequency (f) by the formula f=1/T, which is approximately the resonant frequency of the surface.
For example, FIG. 2 shows a graph 200 of the frequency of vibration of a surface during excitation and as the surface returns to rest according to one embodiment of the present invention. As can be seen, the period 210 of the vibration of the surface during excitation is faster than the resonant period 220 of the surface as it returns to rest. However, even after excitation at a non-resonant frequency, the surface tends to vibrate at a resonant frequency when an input force is no longer driving the surface. By measuring the period of vibration of the surface as it returns to rest, the computer 101 may determine the resonant frequency of the surface.
Methods for Determining a Resonant Frequency
FIG. 3 shows a flowchart 300 of a method for resonance detection according to one embodiment of the present invention. The method shown in FIG. 4 will be discussed in light of the system shown in FIG. 1, though, as will be described below, different systems may be used to perform the method.
The method 300 begins in block 310 when the processor receives a request for calibration. The request for calibration indicates that the processor should determine the resonant frequency of a surface. In one embodiment of the present invention, the request indicates for which of a plurality of surfaces the processor should determine a resonant frequency. For example, the processor may be in communication with a plurality of actuators, each actuator coupled to a different surface. In one embodiment of the present invention, the processor receives the request from a user input, such as from a menu selection. In another embodiment, the processor receives the request from a remote processor. For example, the processor may receive a request from a remote processor as a part of the manufacturing processor, whereby the remote processor requests that the processor determine the resonant frequency of the surface of the device housing. Still further embodiments may receive calibration requests from other sources, such as a network or as a result of a boot-up process.
In block 320, the computer selects a frequency of a vibration to output to the surface. For example in some embodiments of the present invention, a frequency is selected to cause an actuator to output a substantially sinusoidal vibration at a selected frequency. In such a case, the actuator is configured to output a sinusoidal vibration comprising substantially only the selected frequency. For example, a frequency of 130 hertz (Hz) may be selected.
In other embodiments, it may be desirable to transmit an actuator signal comprising a plurality of frequencies, such as a frequency sweep (described in detail below) or a square wave. For example, a frequency sweep comprises the sequential application of a plurality of selected frequencies. The first selected frequency is configured to cause actuator to output a vibration comprising substantially only the selected frequency. As the frequency sweep progresses, the selected frequency is changed such that the actuator outputs a vibration comprising only the new selected frequency. The frequency sweep continues until each of the desired frequencies has been output. In further embodiments, any arbitrary waveform may be used.
In block 330, the computer transmits an actuator signal to an actuator 103 coupled to a surface of a device, such as a touch screen 102. The actuator signal is configured to cause the actuator 103 to output a force to the surface.
A computer may transmit an actuator signal directly to an actuator, or it may transmit the actuator signal to another processor. For example, in one embodiment of the present invention, the computer may be in direct communication with an actuator, and may be configured to output signals configured to drive the actuator. However, in another embodiment, an actuator, a surface, and a local processor may be contained within a device in communication with the computer. In such an embodiment, the computer may transmit an actuator signal to the local processor, which may then generate a signal configured to drive the actuator.
Further, the computer may transmit an actuator signal comprising a high-level or a low-level command to the device. In general, a high-level command comprises parametric information about a force to be generated, such that the device's processor is capable of generating the desired vibration by calculating the shape of the waveform using the parametric information. While a low-level command comprises information detailing the shape of the waveform, such as sampled points along the waveform, which may allow the device's processor to output a signal to drive the actuator without having to calculate the shape of the waveform.
FIG. 4 shows a waveform to be generated by an actuator according to one embodiment of the present invention. In this embodiment of the present invention, the processor 110 may generate a high-level command to output the waveform shown in FIG. 4. In such an embodiment, the processor may output an actuator signal comprising a frequency parameter, a magnitude parameter, and a waveform parameter. To generate the waveform shown in FIG. 4, the high-level command may comprise a frequency 410, such as 140 Hz, a magnitude 420, such as 250 volts, and a waveform type, such as sinusoidal. The command may then be transmitted to the actuator, which then may generate a 140 Hz sinusoidal vibration, generated by a 250 volt peak-to-peak driving signal.
High-level commands may also include other parameters or parameter values. For example, a high-level command may include multiple parameters associated with a single force, such as a plurality of frequency parameters. The parameters included within the high-level command may comprise a wide range of values. For example and without limitation, a waveform parameter may specify a sinusoidal waveform, a square waveform, a saw-toothed waveform, an impulse waveform, or a user-defined waveform. A frequency parameter may define one or more frequencies or one or more periods to use to generate the force. A magnitude parameter may specify a peak magnitude, an average magnitude, or a minimum magnitude. It may also specify the magnitude in one or more different units, such as, without limitation, voltage, current, or displacement of the surface. Still other parameters may be included within a high-level command.
While some embodiments may transmit an actuator signal having a high-level command, other embodiments may transmit an actuator signal with low-level information. For example, according to one embodiment, the actuator signal may comprise points along the waveform describing the force. In another embodiment, the actuator signal may comprise a function describing a waveform to be generated. FIG. 5 shows a waveform 500 to be generated by an actuator according to one embodiment. In producing the waveform 500, the actuator signal is generated using a low-level command, including points 510 along the waveform that may be incorporated into the low-level command.
A low-level command may be advantageous in some embodiments. Further, low-level actuator signals may be advantageous as they may allow for the transmission of custom waveforms. High level commands may comprise custom waveforms as well. In such an embodiment, the shape of the waveform is specified, such as by parametric information or by including points along the waveform, similar to the way in which a waveform is specified in a low-level command. While various types of commands have been characterized as high-level and low-level, these are simply convenient descriptions used herein and are not intended to limit the types or scope of commands that may be used in various embodiments. Rather, any actuator signal configured to cause an actuator to output a desired waveform can be used.
In another embodiment, a processor, such as processor 110, may output an actuator signal that directly drives an actuator 103. For example, the processor 110 may output a sinusoidal actuator signal to a piezo-electric element configured to output a force on a surface of a touch-sensitive input device. In this embodiment, the sinusoidal actuator signal is configured to be a drive signal that is transmitted directly to the actuator (such as a piezo-electric element, or a motor). In one piezo-electric embodiment, the processor 110 may generate a substantially single frequency sinusoidal actuator signal configured to drive a piezo-electric element. The piezo-electric element receives the actuator signal, and imparts a vibration on the surface, the vibration having a frequency approximately equal to the frequency of the actuator signal. In such an embodiment, the processor 110 is responsible for driving the actuator 130, rather than sending a signal to other processing circuitry to generate a signal to drive the actuator as was described with respect to the high-level and low-level command embodiments above. However, in some embodiments, an actuator drive signal may be transmitted through one or more circuit components before being received by the actuator. For example, a processor may transmit the actuator drive signal to an amplifier or a filter before the actuator signal is transmitted to the actuator.
While in some embodiments actuator signals may be transmitted which comprise substantially only one frequency, in other embodiments actuators signals may be transmitted which comprise a plurality of frequencies. For example, in one embodiment, the computer 101 may output an actuator signal having a plurality of frequencies output in series, such as a frequency sweep. In such an embodiment, the computer 101 can output a high-level command having a first frequency, a second frequency, a step size, and a waveform type. The first and second frequencies may specify the start and end frequencies for the frequency sweep, and the step size may specify the incremental frequencies to use between the first and second frequencies. The waveform type may indicate a frequency sweep.
In one embodiment using a frequency sweep, the first and second frequencies should be selected such that it is likely that the resonant frequency of the surface falls between the first and second frequencies. Thus, in a frequency sweep, the computer 101 outputs a sequence of selected frequencies beginning with the first frequency, and increments to successive selected frequencies using the step size. If the first and second frequencies are selected appropriately, the resonant frequency of the surface will fall between the two, and will be identified as one of the selected frequencies during the frequency sweep. Additional embodiments may output high-level commands comprising different parameters.
In block 340, the computer 101 receives a response related to the force applied to the surface. For example, as was discussed previously, the computer 101 may receive a signal generated by a piezo-electric element in response to movement of the surface. After the actuator stops outputting the force, the surface may continue to vibrate, which causes the piezo-electric element to output a current indicating a response of the surface to the force. The response is then received by the computer 101.
For example, in one embodiment, the actuator may comprise a piezo-electric element, which is in communication with the computer 101. The piezo-electric element may transmit voltage or current signals directly to the signal processor, such as over a wire coupled between the piezo-electric element and the computer 101. In a related embodiment, the piezo-electric element may be coupled to the computer 101 through additional circuitry, such as an amplifier or a filter. Such an embodiment may be advantageous to provide input signals to the computer 101 having voltage or current values within a range receivable by the computer 101, or for providing filtered voltage or current values to the computer 101. In a further embodiment, the surface and the actuator may be contained within a device having a processor. The device's processor may be configured to receive voltage or current signals from the piezo-electric element and transmit response information to the computer 101. For example, the device's processor may receive signals from a piezo-electric element, sample the signals at a sampling rate, store the sampled values, and transmit the sampled values to the computer 101, such as through a network connection.
In block 350, the computer 101 determines a resonant frequency of the surface based at least in part on the response. After the computer 101 has received a signal indicating the response of the surface to the force, the computer 101 analyzes the response to determine whether the response indicates the resonant frequency of the surface. For example, referring again to FIGS. 2 and 3, in one embodiment of the present invention, the computer 101 may analyze a response 200, 300 of the surface to a force, and determine the presence or size of a plateau 320, such as may be seen in FIG. 3. In one embodiment, the determination may be an iterative process. For example, a computer 101 may not detect a plateau in a received response 200. The computer 101 may then re-perform steps 320 and 340, and analyze the received response 300 to determine the resonant frequency.
According to one embodiment, it may be possible to determine a plurality of resonant frequencies of a surface by returning to block 320. For example, it may be possible to determine a first resonant frequency of a surface when nothing is contacting the surface. It may be possible to determine a second resonant frequency when an object, such as a finger, is contacting the surface. It may be possible to determine further resonant frequencies when a plurality of objects are contacting the surface, or for an object contacting the surface at different locations. For example, in one embodiment, the first resonant frequency may comprise the fundamental frequency of the surface, and the second resonant frequency may comprise an integer multiple of the fundamental frequency. A fundamental frequency describes the lowest resonant frequency of the surface. Using such an embodiment, it may be possible to output haptic effects at the resonant frequency associated with a state of the surface. For example, the first resonant frequency may be generated if no objects are in contact with the surface, and the second resonant frequency may be output when an object is contacting the surface.
In one embodiment, the computer may determine a resonant frequency by transmitting a series of actuator signals to generate a plurality of forces in sequence. For example, the computer may continue to iterate successive actuator signals having different selected frequencies until a resonant frequency is found. According to one embodiment, a computer 101 generates a first actuator signal having substantially only one first frequency at a frequency below the resonant frequency. The actuator then generates a first force to output to the surface. The computer 101 in such an embodiment receives a first response of the surface to the first force.
The computer then determines a first magnitude in the received first response and stores the first magnitude and the first frequency. The computer then transmits a second actuator signal having a second frequency greater than the first frequency. The actuator outputs a second force to the surface, and the computer 101 receives a second response of the surface to the second force. The computer determines a second magnitude in the second response and compares it to the first magnitude in the first response. If the second magnitude is greater than the first magnitude, the computer may discard the first magnitude and the first frequency, and store the second magnitude and the second frequency. The computer then continues to transmit actuator signals and receive responses to the signals. For each response received, the computer determines a magnitude within such response and compares it with the stored response to determine the largest response. The computer may continue to output actuator signals while the magnitudes in the received responses continue to increase, and may determine a resonant frequency after one or more received responses have magnitudes smaller than the stored plateau.
In one embodiment, a surface may comprise a multi-touch input surface, such as a multi-touch touch screen. In such an embodiment, a system for resonant detection may transmit a series of actuator signals to determine a plurality of resonant frequencies associated with a multi-touch input surface. Such an embodiment may be employed to determine resonant frequencies of the multi-touch input surface during a contact with the surface at one or more locations simultaneously or in succession.
In another embodiment, a surface may comprise a multi-output surface. Such a surface may be coupled to a plurality of actuators configured to output localized forces to discrete areas of the touch surface. For example, a touch surface having a rectangular shape may be coupled to four actuators, wherein each actuator is coupled to a different quadrant of the touch surface. Each actuator may be configured to output a localized force to the corresponding quadrant of the touch surface. Thus, an embodiment may be configured to determine a resonant frequency of the surface associated with each of the actuators.
FIG. 6 is a graph illustrating an electrical resistance response 600 to an actuator signal according to one embodiment. The response 600 (vertical axis) shown in FIG. 6 results from measured resistance of a piezo-electric actuator device due to an input frequency sweep (horizontal axis) to the piezo-electric actuator device. As can be seen, the response comprises two relatively high-magnitude portions 610a and 610b and a low-magnitude trough 620. The areas of high-magnitude indicate relatively high electrical resistance across the piezo-electric actuator, while the bottom of the trough 620 indicates relatively low resistance across the piezo-electric actuator. The computer 101 may receive the response 600 and determine a resonant frequency by determining the frequency at which the piezo-electric actuator exhibited the least electrical resistance (i.e., trough 620).
FIG. 7 is a graph illustrating a response 700 to an actuator signal according to one embodiment. In the graph shown in FIG. 7, the response 700 indicates the movement of a surface of a device based on a force output by an actuator. In the graph shown in FIG. 7, the horizontal axis indicates the time at which the sample was taken, while the vertical axis indicates the displacement of the surface. At the time 720 prior to cutoff 740, the actuator is outputting a force. At approximately cutoff 740, the actuator stops outputting the force and the surface is allowed to return to a resting position. The natural response 710 of the surface indicates continued vibration that dissipates over time 730. The duration 730 during which the surface continues to vibrate is measured by the computer 101 and stored. The system 100 then vibrates the surface at other frequencies and measures duration 730 of the natural response 710 for each of the other frequencies. The frequency of the force that generated the maximum duration 730 of the natural response 710 may be determined to be the resonant frequency of the surface.
In block 360, the computer 101 outputs the resonant frequency. After the computer 101 has determined a resonant frequency for the surface, the computer may output the resonant frequency by saving the frequency in a non-volatile computer-readable medium, it may display the frequency on a display screen, it may generate an actuator signal having the resonant frequency, or it may otherwise output the frequency according to methods known to those of skill in the art.
While the description above describes various embodiments for resonance detection, some embodiments of the present invention may comprise additional or different steps. For example, when an object is contacting a surface, its resonant frequency may change. Therefore, it may be desirable to determine a resonant frequency of a surface when a user is touching the surface. Further, the resonant frequency may change based on where the contact is applied to the surface. Thus, it may be desirable in some embodiments to calculate one or more resonant frequencies based on contact with the surface at one or more locations. In such embodiments, an actuator signal may be based at least in part on a location of a sensed contact with the surface.
In a further embodiment, the computer 101 may be configured to detect a dynamically changing resonant frequency. For example, as a user touches a surface (or stops contacting the surface), the resonant frequency of the surface may change. Thus, it may be desirable to determine a resonant frequency for a plurality of contact pressures. In such an embodiment, a system for resonant detection may be configured to determine a plurality of resonant frequencies associated with pressures associated with, for example, a user initiating a contact with a surface (such as by pressing a finger against the surface), or ending a contact with a surface (such as be removing the finger from the surface).
An advantage of the foregoing approach may be that a system for outputting haptic vibrations can output higher magnitude vibrations with a relatively lower magnitude input signal. Generally, when a system is driven at resonance, small energy inputs at the resonant frequency can be significantly amplified to generate a more dramatic output. Thus, it may be more efficient to drive a system at resonance. Further, because surfaces may vary in construction, surfaces in otherwise similarly-designed devices may have different resonant frequencies. Or, as a surface is used, it may become worn or its resonant frequency may change. Further, the resonant frequency of a surface may change if it is being contacted, such as by a fingertip. Thus, it may be desirable to incorporate some or all of the various embodiments discussed herein into a calibration system for such devices. Such a calibration system may be incorporated into the device itself, or it may be used during a manufacturing process, or both.
Certain embodiments may comprise a computer-readable medium storing program code for instructing a machine or computer to carry out one or more of the methods described above. Such a machine or computer may be capable of determining the resonant frequency of a haptic surface. For example, the machine or computer may determine the resonant frequency of the haptic surface periodically, or when commanded by a user. Further, such a machine or computer may determine a resonant frequency of a surface when the surface is being contacted, such as by a user. It may be desirable to determine a resonant frequency at such at time as the actuator will likely be outputting a haptic effect to the surface when it is being contacted by a user.
FIG. 8 is a block diagram illustrating a system 800 for resonance detection according to one embodiment. The system 800 comprises a computer 810 and a device 820. The computer 810 comprises a processor 811, and is in communication with the device 820. The processor 811 is configured to output an actuator signal to the device 820, and to receive an input signal from the device 820. The device 820 comprises a surface 821, an actuator 822, and a processor 823. The processor 823 is in communication with the actuator 822 and the surface 821, and is configured to receive an actuator signal from the computer 810, transmit an actuator drive signal to the actuator 822, and receive a sensor signal.
In the embodiment shown in FIG. 8, the actuator 822 comprises a suitable actuator for generating a force on the surface. For example, in one embodiment of the present invention, the actuator 822 comprises a piezoelectric actuator. Such an embodiment may be advantageous because a piezo-electric element can act as a sensor configured to sense the movement of the surface 821; a piezo-electric element may generate a voltage when compressed or stretched, such as by a vibrating surface. The generated voltage can be measured and used to determine a corresponding movement of the surface. Other actuators may be used as well. For example, the actuator 822 may comprise an electric motor, an electro-magnetic actuator, a voice coil, a linear resonant actuator, a shape memory alloy, an electro-active polymer, or other suitable actuator capable of sensing movement. In one embodiment of the present invention, an electric motor may be employed to sense the movement of the surface. For example, the electric motor may comprise a transducer capable of outputting a force, and also sensing the movement of the transducer. Such a transducer may comprise an optical encoder, or may be capable of generating voltages or currents proportional to a movement of the transducer.
The surface 821 shown in FIG. 8 may be any surface of the device that a user may contact. For example, in one embodiment, the surface may be a surface of a touch screen. In another embodiment, the surface may be a surface of a cell phone or a PDA configured to provide haptic sensations to a user holding the device. In other embodiments, the surface may be a part of an input device, such as a touch screen or a button. In some embodiments, the surface may be any of the following without limitation: a surface of a housing of a device, such as a battery cover on a cell phone, a touch screen in the console of an automobile, a touch sensitive surface within the automobile, a touch screen on a laptop or personal computer, a touch screen on an automated teller machine or other terminal device, or a touch-sensitive surface, either transparent, translucent, or opaque. Any suitable surface may be advantageously employed.
FIG. 9A is a block diagram illustrating a system 900 for resonance detection according to one embodiment. The system 900 is similar to other systems described herein, however, the system 900 shown in FIG. 9A comprises a single, self-contained device 910 comprising a surface 911, an actuator 912, and a processor 913. The device 910 is capable of determining the resonant frequency of its own surface 911. The processor 913 is in communication with the actuator 912 and the surface 911. In the embodiment shown in FIG. 9A, the processor is configured to transmit an actuator signal, receive a sensor signal, and determine a resonant frequency of the surface. The processor 913 may also be configured to receive an input signal from the surface 911. The actuator 912 is in communication with the processor 913 and the surface 911, and is configured to receive an actuator signal from the processor 913, output a vibration to the surface 911, and to transmit a sensor signal to the processor 913. In the embodiment shown, the actuator outputs a vibration to the surface 911, and also operates as a sensor to measure the movement of the surface 911 in response to the vibration. The actuator 912 transmits a sensor signal to the processor 913 based at least in part on the sensed movement of the surface 911.
FIG. 9B is a block diagram illustrating a system 950 for resonance detection according to one embodiment. The system 950 is similar to the embodiment shown in FIG. 9A, but also includes a sensor 964 separate from the actuator 962. Other embodiments may also incorporate a sensor distinct from the actuator, such as other embodiments described in this specification.
The system 950 comprises a device 960, which comprises a surface 961, an actuator 962, a processor 963, and a sensor 964. The processor 963 is in communication with the actuator 962, the surface 961, and the sensor 964. The processor is configured to transmit an actuator signal to the actuator 962, receive a sensor signal from the sensor 964, and an input signal from the surface 961. The actuator is configured to receive an actuator signal from the processor 963, and to output a vibration to the surface 961. The sensor 964 is configured to measure a response of the surface 961 to a vibration output by the actuator 962. The sensor 964 may also be configured to detect a contact with the surface 961 by a user.
Embodiments may be advantageously employed in a variety of scenarios. For example, one embodiment may be advantageously incorporated into a manufacturing facility of devices having haptically-enabled surfaces, such as haptically-enabled touch screens. Such a facility may employ one or more embodiments to determine the resonant frequency of each manufactured device's surface and store the resonant frequency within the device, such as on a computer readable medium.
Alternatively, a device may comprise one or more embodiments. For example, a navigation system in a vehicle may comprise a touch screen. The navigation system may also comprise an embodiment configured to determine the resonant frequency of the surface of the touch screen. The embodiment may be employed by the user to determine the resonant frequency of the touch screen when nothing is contacting the screen. Alternatively, the navigation system may determine the resonant frequency of the touch screen each time it is powered on, or periodically, such as every three months.
Referring again to FIGS. 1, 8, and 9A-9B, embodiments can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. In one embodiment, a computer may comprise one or more processors. The processor comprises a computer-readable medium, such as a random access memory (RAM) coupled to the processor. The processor executes computer-executable program instructions stored in memory, such as executing one or more computer programs for editing an image. Such processors may comprise a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), field programmable gate arrays (FPGAs), state machines, and the like. Such processors may further comprise programmable electronic devices such as programmable logic controllers (PLCs), programmable interrupt controllers (PICs), programmable logic devices (PLDs), programmable read-only memories (PROMs), electronically (erasable) programmable read-only memories (EPROMs or EEPROMs), or other similar devices.
Such processors may comprise, or may be in communication with, media, for example computer-readable media, that may store instructions that, when executed by the processor, can cause the processor to perform the steps described herein as carried out, or assisted, by a processor. Embodiments of computer-readable media may comprise, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor, such as the processor in a web server, with computer-readable instructions. Other examples of media comprise, but are not limited to, a floppy disk, CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read. Also, various other devices may transmit or carry instructions to a computer, such as a router, private or public network, or other transmission device. The processor, and the processing, described may be in one or more structures, and may be dispersed through one or more structures. The processor may comprise code for carrying out one or more of the methods (or parts of methods) described herein.
General
The foregoing detailed description has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Numerous modifications and adaptations thereof will now be apparent to those skilled in the art without departing from the spirit and scope of the invention.

## Claims

1. A method comprising:
transmitting an actuator signal to an actuator coupled to a touch surface of a device, the actuator signal configured to cause the actuator to output a force to the touch surface;
receiving a response of the touch surface to the force;
determining a resonant frequency of the touch surface based at least in part on the response, wherein the resonant frequency of the touch surface is based in part on user interaction with the touch surface; and
outputting a signal indicative of the resonant frequency.

2. The method of claim 1, wherein the resonant frequency comprises a fundamental frequency of the touch surface.

3. The method of claim 1, wherein the force comprises a frequency and a duration.

4. The method of claim 3, wherein the frequency increases during the duration.

5. The method of claim 3, further comprising selecting at least one selected frequency, and wherein the force comprises substantially only the at least one selected frequency.

6. The method of claim 5, wherein the at least one selected frequency comprises a plurality of selected frequencies, and wherein transmitting the actuator signal further comprises transmitting a plurality of actuator signals, each actuator signal comprising at least one of the selected frequencies, and transmitting each of the plurality of actuator signals to the actuator in succession.

7. The method of claim 6, further comprising determining which of the selected frequencies is approximately the resonant frequency.

8. The method of claim 1, wherein the actuator comprises a piezoelectric actuator.

9. The method of claim 8, wherein the piezoelectric actuator is configured to generate a voltage in based at least in part on the response of the touch surface.

10. The method of claim 1, wherein measuring the response comprises measuring the magnitude of the response.

11. The method of claim 10, wherein determining the resonant frequency of the surface comprises:
determining a maximum magnitude of the response; and
determining the frequency of the response at the maximum magnitude.

12. The method of claim 1, further comprising receiving a request for calibration.

13. The method of claim 1, further comprising determining a plurality of resonant frequencies, and outputting the plurality of resonant frequencies, wherein the plurality of resonant frequencies are associated with an object contacting with the surface.

14. The method of claim 1, further comprising receiving a signal from a sensor indicating a contact with the touch surface, and wherein transmitting the actuator signal, receiving the response, and determining the resonant frequency occur during the contact with the touch surface.

15. A system comprising:
an actuator coupled to a touch surface of a device, the actuator configured to receive an actuator signal and to output a force to the surface;
a sensor configured to detect a response of the touch surface to the force and to transmit a sensor signal associated with the response;
a processor configured to:
transmit the actuator signal;
receive the sensor signal;
determine a resonant frequency of the touch surface based at least in part on the sensor signal, wherein the resonant frequency of the touch surface is based in part on user interaction with the touch surface; and
output a signal indicative of the resonant frequency.

16. The system of claim 15, wherein the resonant frequency comprises a fundamental frequency of the touch surface.

17. The system of claim 15, wherein the force comprises a frequency and a duration.

18. The system of claim 17 wherein the frequency increases during the duration.

19. The system of claim 17, wherein the force comprises substantially only a selected frequency.

20. The system of claim 19, wherein the selected frequency comprises a plurality of selected frequencies, and wherein the actuator signal comprises a plurality of actuator signals, each actuator signal comprising at least one of the selected frequencies and transmitted to the actuator in succession.

21. The system of claim 20, wherein the processor is further configured to determine which one of the selected frequencies is approximately the resonant frequency.

22. The system of claim 15, wherein the actuator comprises a piezoelectric actuator.

23. The system of claim 22, wherein the piezoelectric actuator is configured to generate a voltage in based at least in part on the response of the touch surface.

24. The system of claim 15, wherein the processor is further configured to determine a magnitude of the response.

25. The system of claim 15, wherein the processor is further configured to determine the resonant frequency of the surface by determining a maximum magnitude of the response, and determining the frequency of the response at the maximum magnitude.

26. The system of claim 15, wherein the processor is further configured to receive a request for calibration.

27. The system of claim 15, wherein the processor is further configured to determine a plurality of resonant frequencies, wherein the plurality of resonant frequencies are associated with an object contacting with the touch surface.

28. The system of claim 15, wherein the processor is configured to transmit the actuator signal, receive the sensor signal, and determine a resonant frequency of the touch surface based at least in part on the sensor signal, during a contact with the touch surface.

29. A non-transitory computer-readable medium comprising program code, comprising:
program code for transmitting an actuator signal to an actuator coupled to a touch surface of a device, the actuator signal configured to cause the actuator to output a force;
program code for receiving a response of the surface to the force;
program code for determining a resonant frequency of the touch surface based at least in part on the response, wherein the resonant frequency of the touch surface is based in part on user interaction with the touch surface; and
program code for outputting a signal indicative of the resonant frequency.

30. The computer-readable medium of claim 29, wherein the resonant frequency comprises the fundamental frequency of the touch surface.

31. The computer-readable medium of claim 29, wherein the force comprises a frequency and a duration.

32. The computer-readable medium of claim 31, wherein the frequency increases during the duration.

33. The computer-readable medium of claim 31, further comprising program code for selecting at least one selected frequency, and wherein the force comprises substantially only the selected frequency.

34. The computer-readable medium of claim 33, wherein the selected frequency comprises a plurality of selected frequencies, and wherein transmitting the actuator signal further comprises transmitting a plurality of actuator signals, each actuator signal comprising at least one of the selected frequencies, and transmitting each of the plurality of actuator signals to the actuator in succession.

35. The computer-readable medium of claim 34, further comprising program code to determine which of the selected frequencies is approximately the resonant frequency.

36. The computer-readable medium of claim 29, wherein the actuator comprises a piezoelectric actuator.

37. The computer-readable medium of claim 36, wherein the piezoelectric actuator is configured to generate a voltage in based at least in part on the response of the touch surface.

38. The computer-readable medium of claim 29, wherein measuring the response comprises measuring the magnitude of the response.

39. The computer-readable medium of claim 38, wherein determining the resonant frequency of the surface comprises:
determining a maximum magnitude of the response, and
determining the frequency of the response at the maximum magnitude.

40. The method of claim 29, further comprising program code for receiving a signal from a sensor indicating a contact with the touch surface, and wherein the program code is configured to transmit the actuator signal, receive the response, and determine the resonant frequency during the contact.

41. An apparatus comprising:
circuitry configured to transmit an actuator signal to an actuator coupled to a touch surface of a device, the actuator signal configured to cause the actuator to output a force to the touch surface;
circuitry configured to receive a response of the touch surface to the force;
a processor configured to determine a resonant frequency of the touch surface based at least in part on the response, wherein the resonant frequency of the touch surface is based in part on user interaction with the touch surface; and
circuitry configured to output a signal indicative of the resonant frequency.

42. The apparatus of claim 41, wherein the circuitry is configured to transmit the actuator signal, the circuitry is configured to receive the sensor signal, and the processor is configured to determine a resonant frequency of the touch surface based at least in part on the sensor signal, during a contact with the touch surface.