The present disclosure describes methods and apparatuses for the reduction or prevention of interference (e.g. haptic crosstalk) expected to be caused by the output of the vibrational output system on an input sensory system. The input sensory system may comprise, for example, a force sensing input system to provide virtual buttons, or other input sensory system such as an accelerometer, gyroscope, or microphone.
The present disclosure relates to U.S. patent application Ser. No. 15/722,128 filed Oct. 2, 2017; U.S. patent application Ser. No. 16/267,079 filed Feb. 4, 2019; U.S. patent application Ser. No. 16/294,347 filed Mar. 6, 2019; and U.S. patent application Ser. No. 16/422,543 filed May 24, 2019, all of which are incorporated by reference herein in their entireties.
Linear resonant actuators (LRAs) and other vibrational actuators (e.g., rotational actuators, vibrating motors, etc.) are increasingly being used in mobile devices (e.g., mobile phones, personal digital assistants, video game controllers, etc.) or other systems to generate vibrational feedback for user interaction with such devices. Typically, a force/pressure sensor detects user interaction with the device (e.g., a finger press on a virtual button of the device) and in response thereto, the linear resonant actuator vibrates to provide feedback to the user. For example, a linear resonant actuator may vibrate in response to force to mimic to the user the feel of a mechanical button click.
One disadvantage of existing haptic systems is that existing approaches to processing of signals of a force sensor and generating of a haptic response thereto often have longer than desired latency, such that the haptic response may be significantly delayed from the user's interaction with the force sensor. Thus, in applications in which a haptic system is used for mechanical button replacement, capacitive sensor feedback, or other application, and the haptic response may not effectively mimic the feel of a mechanical button click. Accordingly, systems and methods that minimize latency between a user's interaction with a force sensor and a haptic response to the interaction are desired.
In addition, to create appropriate and pleasant haptic feelings for a user, a signal driving a linear resonant actuator may need to be carefully designed and generated. In mechanical button replacement application, a desirable haptic response may be one in which the vibrational impulse generated by the linear resonant actuator should be strong enough to give a user prominent notification as a response to his/her finger pressing and/or releasing, and the vibrational impulse should be short, fast, and clean from resonance tails to provide a user a “sharp” and “crisp” feeling. Optionally, different control algorithms and stimulus may be applied to a linear resonant actuator, to alter the performance to provide alternate tactile feedback—possibly denoting certain user modes in the device—giving more “soft” and “resonant” tactile responses.
According to some embodiments there is provided a controller for controlling an operation of a vibrational output system and/or an operation of an input sensor system, wherein the controller is for use in a device comprising the vibrational output system and the input sensor system. The controller comprises an input configured to receive an indication of activation or de-activation of an output of the vibrational output system; and an adjustment module configured to adjust the operation of the vibrational output system and/or the operation of the input sensor system based on the indication to reduce an interference expected to be caused by the output of the vibrational output system on the input sensory system.
According to some embodiments there is provided a device. The device comprises an input sensor system; a vibrational output system; a controller configured to control operation of the vibrational output system and/or the input sensor system, wherein the controller comprises: an input configured to receive an indication indicating activation or deactivation of an output of the vibrational output system; and an adjustment module configured to adjust operation of the vibrational output system and/or operation of the input sensor system based on the indication to reduce an interference expected to be caused by the output of the vibrational output system on the input sensory system.
According to some embodiments there is provided an integrated circuit for use in a device comprising an input sensor system and a vibrational output system. The integrated circuit comprising a controller configured to control operation of the vibrational output system and/or the input sensor system, wherein the controller comprises: an input configured to receive an indication of whether an output of the vibrational output system is active; and an adjustment module configured to adjust operation of the vibrational output system and/or operation of the input sensor system based on the indication.
According to some embodiments there is provided a method for use in a device comprising a vibrational output system and an input sensor system for controlling operation of the vibrational output system and/or the input sensor system. The method comprises receiving an indication of whether an output of the vibrational output system is active; and adjusting operation of the vibrational output system and/or operation of the input sensor system based on the indication to reduce an interference expected to be caused by the output of the vibrational output system on the input sensory system.
According to some embodiments there is provided a controller for outputting an output signal to a vibrational output system for use in a device comprising the vibrational output system and an input sensor system. The controller comprises an input for receiving an input signal; and a filter for filtering the input signal to provide the output signal; wherein the filter is configured to filter the input signal based on an operating or carrier frequency associated with the input sensor system. In some embodiments, the controller further comprises an input configured to receive an indication of the operating or carrier frequency of the input sensor system, and an adjustment module configured to dynamically adjust the filtering of the filter based on the indication of the operating or carrier frequency of the input sensor system.
According to some embodiments there is provided a controller for outputting an output signal to a vibrational output system for use in a device comprising the vibrational output system and an input sensor system. The controller comprises a processing block configured to output the output signal, wherein the processing block is configured such that integer harmonic tones of the output signal fall outside a frequency band associated with operation of the input sensor system. In some embodiments the processing block comprises an output pulse width modulation, PWM, amplifier. In some embodiments the controller further comprises an input configured to receive an indication of the frequency band associated with operation of the input sensor system; and an adjustment module configured to dynamically adjust the operation of the processing block based on the received indication such that integer harmonic tones of the output signal fall outside the frequency band associated with operation of the input sensor system.
For a better understanding of the embodiments of the present disclosure, and to show how it may be put into effect, reference will now be made, by way of example only, to the accompanying drawings, in which:
The description below sets forth example embodiments according to this disclosure. Further example embodiments and implementations will be apparent to those having ordinary skill in the art. Further, those having ordinary skill in the art will recognize that various equivalent techniques may be applied in lieu of, or in conjunction with, the embodiments discussed below, and all such equivalents should be deemed as being encompassed by the present disclosure.
The methods described herein can be implemented in a wide range of devices and systems, for example a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance. However, for ease of explanation of one embodiment, an illustrative example will be described in
Enclosure 101 may comprise any suitable housing, casing, or other enclosure for housing the various components of mobile device 102. Enclosure 101 may be constructed from plastic, metal, and/or any other suitable materials. In addition, enclosure 101 may be adapted (e.g., sized and shaped) such that mobile device 102 is readily transported on a person of a user of mobile device 102. Accordingly, mobile device 102 may include but is not limited to a smart phone, a tablet computing device, a handheld computing device, a personal digital assistant, a notebook computer, a video game controller, or any other device that may be readily transported on a person of a user of mobile device 102. While
Controller 103 may be housed within enclosure 101 and may include any system, device, or apparatus configured to interpret and/or execute program instructions and/or process data, and may include, without limitation a microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), or any other digital or analog circuitry configured to interpret and/or execute program instructions and/or process data. In some embodiments, controller 103 interprets and/or executes program instructions and/or processes data stored in memory 104 and/or other computer-readable media accessible to controller 103.
Memory 104 may be housed within enclosure 101, may be communicatively coupled to controller 103, and may include any system, device, or apparatus configured to retain program instructions and/or data for a period of time (e.g., computer-readable media). Memory 104 may include random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), a Personal Computer Memory Card International Association (PCMCIA) card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or non-volatile memory that retains data after power to mobile device 102 is turned off.
Microphone 106 may be housed at least partially within enclosure 101, may be communicatively coupled to controller 103, and may comprise any system, device, or apparatus configured to convert sound incident at microphone 106 to an electrical signal that may be processed by controller 103, wherein such sound is converted to an electrical signal using a diaphragm or membrane having an electrical capacitance that varies as based on sonic vibrations received at the diaphragm or membrane. Microphone 106 may include an electrostatic microphone, a condenser microphone, an electret microphone, a microelectromechanical systems (MEMs) microphone, or any other suitable capacitive microphone.
Radio transmitter/receiver 108 may be housed within enclosure 101, may be communicatively coupled to controller 103, and may include any system, device, or apparatus configured to, with the aid of an antenna, generate and transmit radio-frequency signals as well as receive radio-frequency signals and convert the information carried by such received signals into a form usable by controller 103. Radio transmitter/receiver 108 may be configured to transmit and/or receive various types of radio-frequency signals, including without limitation, cellular communications (e.g., 2G, 3G, 4G, 5G, LTE, etc.), short-range wireless communications (e.g., BLUETOOTH), commercial radio signals, television signals, satellite radio signals (e.g., GPS), Wireless Fidelity, etc.
A speaker 110 may be housed at least partially within enclosure 101 or may be external to enclosure 101, may be communicatively coupled to controller 103, and may comprise any system, device, or apparatus configured to produce sound in response to electrical audio signal input. In some embodiments, a speaker may comprise a dynamic loudspeaker, which employs a lightweight diaphragm mechanically coupled to a rigid frame via a flexible suspension that constrains a voice coil to move axially through a cylindrical magnetic gap. When an electrical signal is applied to the voice coil, a magnetic field is created by the electric current in the voice coil, making it a variable electromagnet. The coil and the driver's magnetic system interact, generating a mechanical force that causes the coil (and thus, the attached cone) to move back and forth, thereby reproducing sound under the control of the applied electrical signal coming from the amplifier.
The input sensor system 105 may be housed within, be located on or form part of the enclosure 101 and may be communicatively coupled to the controller 103. In this example, the input sensor system 105 comprises a force sensor system, and each force sensor of a the force sensor system 105 may include any suitable system, device, or apparatus for sensing a force, a pressure, or a touch (e.g., an interaction with a human finger) and for generating an electrical or electronic signal in response to such force, pressure, or touch. In some embodiments, such electrical or electronic signal may be a function of a magnitude of the force, pressure, or touch applied to the force sensor. In these and other embodiments, such electronic or electrical signal may comprise a general-purpose input/output signal (GPIO) associated with an input signal to which haptic feedback is given.
Example force sensors may include or comprise:
In some arrangements, other types of sensor may be employed. For purposes of clarity and exposition in this disclosure, the term “force” as used herein may refer not only to force, but to physical quantities indicative of force or analogous to force, such as, but not limited to, pressure and touch.
In this example, vibrational output system 107 comprises a Linear resonant actuator 107 which may be housed within enclosure 101, and may include any suitable system, device, or apparatus for producing an oscillating mechanical force across a single axis. For example, in some embodiments, linear resonant actuator 107 may rely on an alternating current voltage to drive a voice coil pressed against a moving mass connected to a spring. When the voice coil is driven at the resonant frequency of the spring, linear resonant actuator 107 may vibrate with a perceptible force. Thus, linear resonant actuator 107 may be useful in haptic applications within a specific frequency range. While, for the purposes of clarity and exposition, this disclosure is described in relation to the use of linear resonant actuator 107, it is understood that any other type or types of vibrational actuators (e.g., eccentric rotating mass actuators) may be used in lieu of or in addition to linear resonant actuator 107. In addition, it is also understood that actuators arranged to produce in oscillating mechanical force across multiple axes may be used in lieu of or in addition to linear resonant actuator 107. As described elsewhere in this disclosure, a linear resonant actuator 107, based on a signal received from integrated haptic system 112, may render haptic feedback to a user of mobile device 102 for at least one of mechanical button replacement and capacitive sensor feedback.
Integrated haptic system 112 may be housed within enclosure 101, may be communicatively coupled to input sensor system 105 and vibrational output system 107, and may include any system, device, or apparatus configured to receive a signal from input sensor system 105 indicative of a force applied to mobile device 102 (e.g., a force applied by a human finger to a virtual button of mobile device 102) and generate an electronic signal for driving linear resonant actuator 107 in response to the force applied to mobile device 102.
Although specific example components are depicted above as being integral to mobile device 102 (e.g., controller 103, memory 104, user interface 105, microphone 106, radio transmitter/receiver 108, speakers(s) 110), a mobile device 102 in accordance with this disclosure may comprise one or more components not specifically enumerated above. For example, although
In addition, it will be understood that the input sensor system 107 may comprise additional or alternative input sensor devices or transducers, for example accelerometers, gyroscopes, cameras, or other sensor devices.
DSP 202 may include any system, device, or apparatus configured to interpret and/or execute program instructions and/or process data. In some embodiments, DSP 202 may interpret and/or execute program instructions and/or process data stored in memory 204 and/or other computer-readable media accessible to DSP 202. The DSP 202 operates as a controller for the integrated haptic system 112A.
Memory 204 may be communicatively coupled to DSP 202, and may include any system, device, or apparatus configured to retain program instructions and/or data for a period of time (e.g., computer-readable media). Memory 204 may include random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), a Personal Computer Memory Card International Association (PCMCIA) card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or non-volatile memory that retains data after power to mobile device 102 is turned off.
Amplifier 206 may be electrically coupled to DSP 202 and may comprise any suitable electronic system, device, or apparatus configured to increase the power of an input signal VIN (e.g., a time-varying voltage or current) to generate an output signal VOUT. For example, amplifier 206 may use electric power from a power supply (not explicitly shown) to increase the amplitude of a signal. Amplifier 206 may include any suitable amplifier class, including without limitation, a Class-D amplifier.
In operation, memory 204 may store one or more haptic playback representations. A haptic playback representation may comprise a waveform. In some examples, a haptic playback representation may comprise one or more parameters, for example, frequency amplitude and duration, allowing for the determination of a haptic waveform based on the parameters. In some embodiments, each of the one or more haptic playback representations may define a haptic response a(t) as a desired acceleration of a linear resonant actuator (e.g., linear resonant actuator 107) as a function of time.
The controller or DSP 202 is configured to receive a force signal VSENSE from force sensor system 105 indicative of force applied to at least one force sensor of the force sensor system 105. Either in response to receipt of force signal VSENSE indicating a sensed force or independently of such receipt, DSP 202 may retrieve a haptic playback representation from memory 104 and may process the haptic playback representation to determine a processed haptic playback signal VIN. In embodiments in which amplifier 206 is a Class D amplifier, processed haptic playback signal VIN may comprise a pulse-width modulated signal. In response to receipt of force signal VSENSE indicating a sensed force, DSP 202 may cause processed haptic playback signal VIN to be output to amplifier 206, and amplifier 206 may amplify processed haptic playback signal VIN to generate a haptic output signal VOUT for driving linear resonant actuator 107.
In some embodiments, integrated haptic system 112A may be formed on a single integrated circuit, thus enabling lower latency than existing approaches to haptic feedback control. By providing integrated haptic system 112A as part of a single monolithic integrated circuit, latencies between various interfaces and system components of integrated haptic system 112A may be reduced or eliminated.
For devices having input transducers, for example resistive or inductive force sensors, or other input sensor systems such as microphones, accelerometers, gyroscopes, optical sensors, etc., the system may be configured such that any effect or interference expected to be caused by the vibrational output on the input sensor system is reduced. This may be done by controlling the operation of the vibrational output, controlling the operation of the input sensor system, and/or controlling the processing of signals produced by the input sensor system to reduce the effect of any vibrational-related crosstalk.
In an example embodiment, the input sensor system may comprise a system configured to measure the variation in the inductance of a coil referred to as an inductive sensing system. The inductive sensing system may form part of a Human-Machine Interface (HMI).
In such an inductive sensing system, a force or mechanical movement in the metal place will result in a change in inductance.
When such inductive sensing systems are used as part of an HMI system, haptic feedback may be included in the HMI system to provide user tactile feedback based on the amount/duration of pressure applied. Examples of such a HMI interface may include, but are not limited to virtual button systems, volume sliders, power/home buttons in electronic devices.
In systems such as those mentioned above, it may be advantageous to ensure that the any vibrational output system (for example a haptic amplifier and module, or a surface audio system) do not interfere or affect the functionality of the inductive sensing system. For example, when actively vibrating, energy may couple from the vibrational output system back to the inductive sensing system or the sensor, thereby affecting the detection accuracy of the inductive sensing system or the sensor. It will be understood that the general structure of the above-described smart haptic amplifier with an integrated inductive force sensing front end may apply for a system with an integrated input sensor system (e.g. resistive force sensing) front end.
It will also be appreciated that a vibrational output system may have a similar interfering effect on other types of input sensor system, for example camera systems, optical systems, microphones etc.
The inductive sensing system 600 may be coupled to a sensor (Sensor) 603, wherein the sensor 603 comprises a resistive-inductive-capacitive (R-L-C) circuit. (This may be equivalent to the inductive sensor 501 illustrated in
In this example, the inductive sensing system 600 comprises the following:
(1) A digitally controlled oscillator (DCO) 601 wherein:
The DSP 505 may then comprise a button press detection block 612 that observes the phase information to determine if the shift in phase recorded by the I-Q detection path is interpreted as a button press.
In this example inductive sensing system 600, to perform one scan of the R-L-C sensor 603 the following may be performed:
It will be appreciated that, whilst the filtering in
The power in the inductive sensing system 600 may vary based on a number of factors, for example:
Returning to
In such a system, the haptic amplifier output may have noise or tonal content in the same operating frequency range as the inductive sensor itself (i.e. within the range of the carrier frequency Fc). This may add noise to the inductive sense phase calculations, affecting accuracy, functionality or both.
To address this, the HMI system 500 may be configured as follows.
The sensor 501 described in the system may be comprised of a resistive-inductive-capacitive (R-L-C) circuit, whose inductive component is comprised of a metal coil, which is nominally an antenna, and as such is capable of detecting electromagnetic fields external to the system.
In examples in which the IS AFE 502 comprises the inductive sensing system 600 as described in
In a system co-habited by both an input sensor system (such as inductive sensing system 600) and a vibrational output system (such as a haptic amplifier and a haptic module), a portion of the noise or distortion produced by the vibrational output system may fall directly within the band-of-interest (BWc) of the input sensor system (or in the close neighborhood of BWc), and may degrade the phase or amplitude measurement accuracy.
It will be appreciated that the output energy of the vibrational output system may couple to the input sensor system cause inaccuracies—especially when the output energy is close to the carrier frequency Fc of the input sensor system. Coupling mechanisms may include, but are not limited to electrical coupling, mechanical coupling or vibrational coupling. IT will also be appreciated that the output energy of the vibrational output system may result in some thermal effects. For example, if the input sensor system is dependent on temperature, or the output of the input sensor system varies in some way with temperature, then the vibrational output system may couple with the input sensor system by heating up the input sensor system whilst the vibrational output system is active.
One example of electrical coupling may occur when a trace or parasitic capacitance exists between for example a haptic amplifier output of the vibrational output system and a sensor input (or output) of the input sensor system. The out-of-band for example, PWM content output by the vibrational output system may couple onto the sensor signal path as an external interferer. Other coupling mechanisms may include power-supply coupling, inductive or electromagnetic coupling, or IC substrate coupling.
The controller 800 comprises an input 801 configured to receive an indication of activation or de-activation of an output of the vibrational output system. For example, the indication may comprise the signal VSENSE from a force sensor 105 as illustrated in
In some embodiments, the indication may comprise the haptic playback signal VIN. In these examples, a delay may be applied to the haptic playback signal VIN before outputting the signal to the haptic module in order to account for any delay in processing provided by the controller 800. The haptic playback signal VIN may indicate activation of an output of the vibrational output system, for example, when the haptic playback signal is non-zero or has an amplitude above a predetermined threshold.
The controller 800 further comprises an adjustment module 802 configured to adjust the operation of the vibrational output system and/or the operation of the input sensor system based on the indication to reduce an interference expected to be caused by the output of the vibrational output system on the input sensory system. For example, the controller 800 may be configured to output a control signal CTRL to one or both the output vibrational system and the input sensor system.
In some examples, the indication may be processed by a processing block 803 before input into the adjustment module 802. For example, where the indication comprises the signal VSENSE the controller may comprise a button press detection block 803, for example, the button press detection block 612 as illustrated in
It will be appreciated that the processing block 803 perform different processing depending on the nature of the input sensor system. For example, if the input sensor system comprises a camera sensor system, the processing block 803 may be configured to determine whether or not the camera is being used.
Given an input sensor system and a vibrational output system, one or more of the following approaches may be used to ensure optimal efficiency and co-design with zero or minimal loss of sensitivity, accuracy and functionality. It will be understood that the described approaches may be implemented by a controller 800 provided as part of the input sensor system and/or as part of the integrated haptic system or smart haptic amplifier as described above.
For example, the input sensor system 902 may comprise an inductive sensing system 600 as illustrated in
The vibrational output system 901 may also comprise any suitable vibrational output system for example a haptic output system or a surface audio output system.
In this example, the vibrational output system 901 comprises a haptic output system and the input sensor system 902 comprises a force sensor system.
The controller 800 is configured to receive the output of the inductive sensing analog front end 502. The detection block 803 may then determine whether the output of the inductive sensing AFE 502 is representative of a button press. It will be appreciated that in embodiments in which the input sensor system comprises another type of sensor (for example a camera), the detection block 803 may be configured to detect when the input sensor system is outputting a signal during which the device it Is desirable to output a vibrational output to the user of the device.
The adjustment module 802 may then be configured to output a control signal CTRL to one or both of the vibrational output system 901 and the input sensor system 902 based on the output of the detection block 803.
For example, the adjustment module 802 may be configured to increase a drive amplitude or a power level of the input sensor system 902 responsive to the indication indicating activation of the output of the vibrational output system 901. Since the output of the inductive sensing AFE 502 may be used to determine if the haptic amplifier needs to be activated, the drive amplitude (or power level) to the input sensor 501 may be temporarily increased for the duration that the vibrational output system is active. In this way, the total signal to noise ratio (SNR) of the signal output by the input sensor 501 may still meet a minimum threshold. In other words, whilst the noise or interference caused by the vibrational output system may remain the same as if there were no adjustment made by the adjustment module 802, the amplitude of the sensor signal is increased to compensate.
For example, referring to
In some examples, the adjustment module 802 is configured to adjust a bandwidth or conversion time associated with operation of the input sensor system responsive to the indication indicating activation of the output of the vibrational output system.
For example, the bandwidth associated with operation of the input sensor system may comprise a filtering bandwidth applied to an output signal of the input sensor system, and wherein the adjustment module is configured to reduce the filtering bandwidth responsive to the indication indicating activation of the output of the vibrational output system. For example, the adjustment module 802 may be configured to adjust the filtering bandwidth applied by the filters 609 and/or 606 in the inductive sensing system 502.
For example, the filtering bandwidth (BW) or conversion time in the inductive sensing AFE 502 may be adapted when the haptic amplifier is activated. For example, the filtering BW may be adjusted by the adjustment module 802 to be much narrower around the carrier frequency Fc. By narrowing the filtering bandwidth, a higher proportion of the interfering vibrational output signal may be filtered out of the signal VSENSE thereby reducing the interference expected to be caused by the output of the vibrational output system on the input sensory system.
The adjustment of the filtering bandwidth or conversion time may be further optimized by calibration. The calibration maybe performed either at a stage of initial manufacture or assembly of a device, or in real-time. To perform the calibration, a zero signal may be driven into the input sensor 501 while the vibrational output system 901 is activated, and the output of the inductive sensing AFE 502 (e.g. the phase and/or amplitude) may be measured. In this way, only the interference caused by the vibrational output signal is being measured from the output of the inductive sensing AFE 502.
To calibrate the system, the filtering bandwidth of the inductive sensing AFE 502 and/or the conversion time of the inductive sensing AFE 502 may be changed (for example iteratively) until the output of the inductive sensing AFE 502 falls below a pre-determined noise threshold. The filtering BW and/or conversion time settings that cause the output of the inductive sensing AFE 502 to fall below the pre-determined noise threshold may be then stored in on-device or local memory.
The adjustment module 802 may then, (for example, during normal operation of the device), be configured to obtain a bandwidth or conversion time setting from a memory; and apply the bandwidth or conversion time setting to the input sensor system 902 whilst the indication indicates activation of the output of the vibrational output system. In other words, during normal operation of the system (e.g. where the signal driven into the input sensor 501 may be non-zero) when the vibrational output system is activated (or to be activated), the stored filtering BW and/or conversion time settings may be retrieved from the memory and applied to the inductive sensing AFE 502 such that the output of the inductive sensing AFE 502 is effectively set as noise.
Once the indication indicates that the vibrational output system 901 is no longer active, the inductive sensing AFE 502 may be returned to the original filtering and/or conversion time settings for regular sensor operation.
In some examples, the adjustment module may be configured to apply digital post-compensation. In this example, the system may be calibrated. The calibration maybe performed either at the stage of initial manufacture or assembly, or in real-time. To perform the calibration, a zero signal may be driven into the input sensor 501, while the vibrational output system 901 is activated and the output of the inductive sensing AFE 502 (e.g. the phase and/or amplitude) may be measured.
For example, as a particular output signal is output through the vibrational output system 901, the controller 800 may measure the output of the inductive sensing AFE 502. A compensation waveform may then be determined for the particular output signal, wherein the compensation waveform is the inverse of the output of the inductive sensing AFE 502 during output of the output signal through the vibrational output system 901. Compensation signals may be determined for a number of predetermined output signals (e.g. haptic playback signals) expected to be output through the vibrational output system during normal operation of the device. Each compensation signal may be stored associated with the respective associated output signal.
The adjustment module 802 may then be configured to: responsive to the indication indicating activation of the output of the vibrational output system, obtain a compensation signal from a memory comprising one or more stored compensation signals, wherein the compensation signal is associated with an output signal for output by the vibrational output system; and apply the compensation signal to a sensor signal (e.g. VSENSE) output by the input sensor system whilst the output signal is output by the vibrational output system. For example, the adjustment module 802 may be configured to add the compensation signal to the output of the inductive sensing AFE 502. By applying the compensation signal to the sensor signal output by the inductive sensing AFE 502 during output of the associated output signal, the expected interference of the output signal on the input sensor system 902 may be cancelled out. In this example, the compensation waveform may be applied to the sensor signal before the controller 800 processes the output of the inductive sensing AFE 502 to determine whether or not, for example, a button press has occurred at the input sensor system 902.
When the indication indicates that the vibrational output system 901 is no longer active, the adjustment module 802 may be configured to no longer apply the compensation signal to the sensor signal.
In some examples, the operating frequency of the input sensor system 902 may be adjusted when the output vibrational system 901 is activated. For example, responsive to the indication indicating activation of the output of the vibrational output system, the adjustment module 802 may be configured to select an operating frequency (for example, the carrier frequency Fc) of the input sensor system based on an output signal being output by the vibrational output system.
Considering an example in which the vibrational output system 901 comprises a haptic output system. If a harmonic tone of the haptic amplifier 503 is falling at or close to the operating frequency or carrier frequency Fc of the input sensor system 902 such that it cannot be filtered effectively by the inductive sensing AFE 502, The carrier frequency (or operating frequency) Fc may be adjusted such that the harmonic tone may now be filtered. As the carrier frequency Fc may be generally of the order of tens of MHz, changing Fc in the order of 100 Khz does not materially change the sensitivity of the input sensor system 902, but may allow for filtering of the interference caused by the harmonic tone as the harmonic tone may be forced out of the filtering bandwidth applied by the inductive sensing AFE 502. Therefore, the adjustment module 802 may be configured to select the operating frequency of the input sensor system 902 such that the output signal output by the vibrational output system 901, or harmonic tones produced during output of the output signal, do not lie within the filtering bandwidth of the input sensor system 902.
In some examples, a similar effect may be implemented using a keep-out zone provided with either factory or real-time calibration. For example, a zero signal may be driven into the input sensor system 902 and the output vibrational system 901 may be activated. The output of the input sensor system 902 may then be measured during activation of the output vibrational system 901. In this way, only the interference caused by the activation of the vibrational output system 901 is being measured. During measurement of the interference, the operating frequency (Fc) of the input sensor system 902 may be swept through a range of frequencies, and instances in which the IS AFE 502 output (phase and/or amplitude) falls above a pre-determined noise and/or accuracy threshold are recorded. The frequency values associated with these instances may then be stored and keep-out zones may be determined that comprise these frequency values. In this example, when the vibrational output system 901 is activated (or to be activated), the carrier frequency Fc many be selected by the adjustment module 802 such that it does not fall in any of the keep-out zones. For example, the adjustment module 802 may be configured to responsive to the information indicating activation of the output of the vibrational output system, select an operating frequency (e.g. carrier frequency Fc) of the input sensor system such that the operating frequency does not lie within a predefined keep-out zone.
Once the vibrational output system 901 is no longer activated, the original settings can be resumed with no keep-out zones applied to the operating frequency of the input sensor system 902.
In some examples, the adjustment module is configured to blank out the output signal of the input sensor system 902, for example, by setting the output of the input sensor system 902 to zero, or otherwise cause the HMI system 900 to ignore the output of the input sensor system 902 when the vibrational output system 901 is activated. For example, the adjustment module 802 may be configured to blank out an output signal of the input sensor system responsive to the indication indicating activation of the output of the vibrational output system. For example, the adjustment module may be configured to either power down the IS AFE 502 or put the IS AFE 502 in standby, or the adjustment module may be configured to cause the controller 800 to simply ignore the data during activation of the vibrational output system 901.
For example, the adjustment module 802 may be configured blank out the output signal by one or more of: placing the input sensor system 902 in a low power mode, putting the input sensor system 902 in an inactive mode, or ignoring the output signal of the input sensor system 902 whilst the indication indicates activation of the output of the vibrational output system.
In some examples, the adjustment module 802 is configured to, responsive to the indication indicating activation of the output of vibrational output system 901, adjust the operation of the input sensor system 902 such that the input sensor system 902 performs sensing only during one or more time intervals during which an output signal being output to the vibrational output system has a vibrational amplitude below a predetermined threshold amplitude. For example, the output signal to be output to the vibrational output system 901 may be designed such that there are small time intervals (or quiet periods) in the vibrating pattern of the tactile feedback in which the amplitude of the output signal is below a predetermined threshold. In other words, during these time intervals any interference caused by the vibrational output system on the input sensor system will be reduced due to the lower amplitude of the output signal. The input sensing system 902 may therefore perform sensing during these time intervals when no or reduced interference associated with the vibrational output system 901 is present. This embodiment may also ensure that no input data is lost (for example, no button press is missed at the input sensing system 902) as may be the case in prolonged blanking intervals. In some examples, the adjustment module 802 may be configured to adjust the operation of the input sensor system 902 by causing the controller 800 (or the button press detection block 803) to ignore the sensing signal VSENSE outside of the time intervals. Alternatively, the input sensing system 902 may be deactivated by the adjustment module 802 during the time intervals.
In some examples, the adjustment module 802 is configured to, responsive to the indication indicating activation of the output of vibrational output system, trigger a desensitization window to apply to an output of the input sensor system. For example, when the vibrational output system 901 is activated, for example where an output signal causing vibration is output by the vibrational output system, the adjustment module 802 may be configured to trigger a desensitisation window such that the output of the input sensor system 902 is desensitised in order to compensate for the possible interference caused by the activation of the vibrational output system 901. The adjustment module 802 may be configured to trigger the desensitization window by adjusting operation of the input sensor system 902 for example, by adjusting a threshold used by the input system 902 to detect an event so as to reduce the sensitivity of the input sensor system 902 to such events. In this example therefore the input sensor system 902 may be considered to comprise the button press detection block 803. The adjustment module 800 may then be configured to increase a threshold employed by the button press detection block 803 to determine if a force indicated by the output of the IS AFE 502 is indicative of a button press. By increasing this threshold, the adjustment module reduces the sensitivity of the button press detection block 803 to button press events.
In some examples, the adjustment module may be configured to trigger the desensitization window by applying a negative gain to the output of a sensor 501, or to the output of the input sensor system 902. This may be considered analogous to increasing the threshold at which the button press detection block 803 will detect a button press event as by reducing the gain of the signal.
By effectively reducing the sensitivity of the input sensor system 902 during the desensitization window, the adjustment module 802 may mitigate the impact of the activated vibrational output system 901 on the input sensor system 902, or on any other systems relying on the output of the input sensor system 902. In some examples the desensitization window may have a variable duration, which for example could be based on the duration of the vibration output signal and/or the possibility of post-vibration-output “ringing”. In addition, a factor by adjustment module reduces the gain of the output of the input sensor system 902 or increases the threshold applied by the button press detection block 803 may be configured based on the amplitude of the output of the vibrational output system 901. As a further aspect, it will be understood that the desensitization window may be split, for example, the factor may vary during the duration of the desensitization window.
It will be understood that some of the above-described functions of the adjustment module 802 may not be suitable for use with all types of input sensor system 902. For example, if the adjustment module is configured to blank out the output signal of the input sensor system, this may result in noticeable drop-outs or distortions if the input sensor system comprises a microphone sensor system (e.g. during a voice call), or the input sensory system comprises a gyroscope or accelerometer sensor system (e.g. when motion of the device is being used as an input to e.g. a gaming application). In examples such as these (or with suitable input sensor system), the adjustment module 802 may be configured as illustrated in
In this embodiment, the adjustment module 802 may be configured to predict the output effect of the vibrational output system 901 on the input sensor system 902, and to determine the nature of any filtering that may be performed to mitigate the effect of the vibrational output signal on the input sensor system 902.
In particular, it may be possible to model the vibrational output system 901, the mechanical surroundings of the device, and the input sensor system 902. For example, it may be possible to regard the collective parts listed above as linear systems which may be modelled by an adaptive filter.
In this embodiment therefore, the adjustment module 802 comprises an adaptive filer 1001.
In
The signal x(n) comprises the vibrational output signal. The signal y(n) then represents the vibrational output signal following coupling with the input sensor system and any other mechanical factors of the device.
The signal v(n) represents the desired input sensor signal received at the input sensor system, in other words the signal that would be received at the controller if the transfer function h(n) had no effect on the input sensor system. The signal d(n) then represents the signal actually output by the input sensor system that is affected by the vibrational output system and other mechanical effects of the device according to h(n). The signal d(n) may be received by the adaptive filter 1001.
The model h{circumflex over ( )}(n) of the adaptive filter 1001 (which may be a model in the electrical domain) replicates the actual transfer function h(n). The model h{circumflex over ( )}(n) may then be continuously adapted to track changes in the actual system. The adaptation of the model h{circumflex over ( )}(n) may be performed when there is no input sensor signal v(n) and/or the adaption rate may be at different rate to the signal v(n) (for example, if v(n) is a fast signal h{circumflex over ( )}(n) may adapt slowly). The signal y{circumflex over ( )}(n) may therefore be representative of the signal y(n) such that when the model h{circumflex over ( )}(n) matches the actual transfer function h(n) the signal e(n) is equivalent to the input sensor signal v(n).
The adaptive filter may comprise a linear filter, such as a Finite Impulse Response (FIR) or an Infinite Impulse Response (IIR) filter, which may be updated using appropriate adaptive filtering methods such as recursive Least Mean Squares (LMS), Kalman filters, etc.
In some examples, the output e(n) may be limited when the interference is too high or the filter h{circumflex over ( )}(n) fails to track the real transfer function h(n). This may be referred to as a non-linear canceller.
In some examples, the input sensor system and/or vibrational output system may be preconfigured for operation in conjunction with each other.
For example, a controller (for example controller 800) may be provided for outputting an output signal to the vibrational output system for use in a device comprising the vibrational output system and an input sensor system. The controller may comprise an input for receiving an input signal; and a filter for filtering the input signal to provide the output signal; wherein the filter is configured to filter the input signal based on an operating or carrier frequency associated with the input sensor system. In other words, the controller may be preconfigured with the operating of carrier frequency of the input sensor system such that the output signal output by the vibrational output system is filtered by the input sensor system and therefore the interference caused by the vibrational output system may be reduced or avoided.
In some examples, the filter may comprise one or more filter poles (or notches) such that attenuation is provided in a narrow band based on where the pole is located in the frequency domain. In some examples, the one or more filter poles or notches may be programmable. For example, the controller 800 may comprise an input configured to receive an indication of the operating or carrier frequency of the input sensor system, and the adjustment module 802 may be configured to dynamically adjust the filtering of the filter based on the indication of the operating or carrier frequency of the input sensor system. In this way, if, for operational reasons, the carrier frequency Fc (or operating frequency) of the input sensor system is changed dynamically or upon reset, then the notch or pole may also be changed appropriately.
One example of implementing the filter may be to implement a Finite Infinite Response (FIR) filter in one of the stages of the vibrational output system. With proper placement, the notch (or pole) may contribute to attenuating the output signal of the vibrational output system as well as any noise or harmonics of the output signal that fall in the same frequency band as the input sensor system operating frequency.
In some examples, a controller (for example controller 800) may be provided for outputting an output signal to a vibrational output system for use in a device comprising the vibrational output system and an input sensor system. The controller may comprise a processing block configured to output the output signal, wherein the processing block is configured such that integer harmonic tones of the output signal fall outside a frequency band associated with operation of the input sensor system. The processing block may comprise an output pulse width modulation, PWM, amplifier. For example, once the set of sensor operating frequencies (Fc) is known, the fundamental PWM frequency of the haptic amplifier may be selected such that none of its integer harmonic tones fall within a predetermined band of Fc.
In some examples, the controller 800 may comprise an input configured to receive an indication of the frequency band associated with operation of the input sensor system. The adjustment module 802 may then be configured to dynamically adjust the operation of the processing block based on the received indication such that integer harmonic tones of the output signal fall outside the frequency band associated with operation of the input sensor system. In some examples the controller may be configured to vary the edge rate of the PWM waveform to change its harmonic content such that the harmonic tones of the output signal fall outside the frequency band associated with operation of the input sensor system.
In step 1101 the method comprises receiving an indication of whether an output of the vibrational output system is active. For example, the indication may comprise the signal VSENSE from a force sensor 105 as illustrated in
In some embodiments, the indication may comprise the haptic playback signal VIN. In these examples, a delay may be applied to the haptic playback signal VIN before outputting the signal to the haptic module in order to account for any delay in processing provided by the controller 800. The haptic playback signal VIN may indicate activation of an output of the vibrational output system, for example, when the haptic playback signal is non-zero or has an amplitude above a predetermined threshold.
In step 1102, the method comprises adjusting operation of the vibrational output system and/or operation of the input sensor system based on the indication to reduce an interference expected to be caused by the output of the vibrational output system on the input sensory system. For example, as described with reference to
It will be understood that the above approaches described for an inductive sensing system may also be used for other sensing systems as appropriate. For example, a smart haptic amplifier having a resistive force sensing front end may be configured to implement appropriate sensor compensation, blanking windows and/or adaptive haptic output as described above. Similar approaches may be used for any other suitable sensor system in a device, e.g. for the output of an accelerometer, gyroscope, etc., sensor compensation, blanking windows and/or adaptive haptic output as described above may also be used.
In a further aspect, the input sensor system may comprise a camera or other type of optical sensor, wherein the controller 800 is arranged to control the camera or optical sensor itself, and/or is arranged to perform compensation on the output of the camera or optical sensor, to reduce the effect of haptic or other vibrational output signals on the sensor system. The controller 800 may perform image stabilization based at least in part on the vibrational output.
It will be understood that the above-described system and methods may also be used for the reduction or elimination of crosstalk from surface audio-based systems, where at least one actuator is used to drive oscillation or vibration of a surface of a device, e.g. a screen or case of a mobile phone, to produce acoustic output. As such systems utilize mechanical vibrations of a portion of the device to produce device audio, the vibrations may interact with existing input sensors or transducers similar to the haptic crosstalk as described above. In such cases, it will be understood that a surface audio amplifier may be used in place of the haptics amplifier as described above.
It will be understood that the above-described methods may be implemented in a dedicated control module, for example a processing module or DSP as shown in the above figures. The control module may be provided as an integral part of the sensor system or may be provided as part of a centralized controller such as a central processing unit (CPU) or applications processor (AP). It will be understood that the control module may be provided with a suitable memory storage module for storing measured and calculated data for use in the described processes.
The skilled person will recognise that some aspects of the above-described apparatus and methods may be embodied as processor control code, for example on a non-volatile carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. For many applications embodiments of the invention will be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus the code may comprise conventional program code or microcode or, for example code for setting up or controlling an ASIC or FPGA. The code may also comprise code for dynamically configuring re-configurable apparatus such as re-programmable logic gate arrays. Similarly the code may comprise code for a hardware description language such as Verilog™ or VHDL (Very high speed integrated circuit Hardware Description Language). As the skilled person will appreciate, the code may be distributed between a plurality of coupled components in communication with one another. Where appropriate, the embodiments may also be implemented using code running on a field-(re)programmable analogue array or similar device in order to configure analogue hardware.
Note that as used herein the term “module” or the term “block” shall be used to refer to a functional unit or block which may be implemented at least partly by dedicated hardware components such as custom defined circuitry and/or at least partly be implemented by one or more software processors or appropriate code running on a suitable general purpose processor or the like. A module may itself comprise other modules or functional units. A module may be provided by multiple components or sub-modules which need not be co-located and could be provided on different integrated circuits and/or running on different processors.
Embodiments may be implemented in a host device, especially a portable and/or battery powered host device such as a mobile computing device for example a laptop or tablet computer, a games console, a remote control device, a home automation controller or a domestic appliance including a domestic temperature or lighting control system, a toy, a machine such as a robot, an audio player, a video player, or a mobile telephone for example a smartphone. There is further provided a host device incorporating the above-described system.
It should be understood—especially by those having ordinary skill in the art with the benefit of this disclosure—that the various operations described herein, particularly in connection with the figures, may be implemented by other circuitry or other hardware components. The order in which each operation of a given method is performed may be changed, and various elements of the systems illustrated herein may be added, reordered, combined, omitted, modified, etc. It is intended that this disclosure embrace all such modifications and changes and, accordingly, the above description should be regarded in an illustrative rather than a restrictive sense.
Similarly, although this disclosure makes reference to specific embodiments, certain modifications and changes can be made to those embodiments without departing from the scope and coverage of this disclosure. Moreover, any benefits, advantages, or solutions to problems that are described herein with regard to specific embodiments are not intended to be construed as a critical, required, or essential feature or element.
Further embodiments likewise, with the benefit of this disclosure, will be apparent to those having ordinary skill in the art, and such embodiments should be deemed as being encompassed herein.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single feature or other unit may fulfil the functions of several units recited in the claims. Any reference numerals or labels in the claims shall not be construed so as to limit their scope.
Aspects of the system may be defined by the following numbered statements:
1. A device comprising:
Number | Date | Country | |
---|---|---|---|
62858437 | Jun 2019 | US |