WO2019045846A1 - Calibrating a vibrational output device - Google Patents
Calibrating a vibrational output device Download PDFInfo
- Publication number
- WO2019045846A1 WO2019045846A1 PCT/US2018/038710 US2018038710W WO2019045846A1 WO 2019045846 A1 WO2019045846 A1 WO 2019045846A1 US 2018038710 W US2018038710 W US 2018038710W WO 2019045846 A1 WO2019045846 A1 WO 2019045846A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- output device
- vibrational output
- drive voltage
- computing device
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01H—MEASUREMENT OF MECHANICAL VIBRATIONS OR ULTRASONIC, SONIC OR INFRASONIC WAVES
- G01H3/00—Measuring characteristics of vibrations by using a detector in a fluid
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING SYSTEMS, e.g. PERSONAL CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B6/00—Tactile signalling systems, e.g. tactile personal calling systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K11/00—Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/16—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/08—Mouthpieces; Microphones; Attachments therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/20—Arrangements for obtaining desired frequency or directional characteristics
- H04R1/22—Arrangements for obtaining desired frequency or directional characteristics for obtaining desired frequency characteristic only
- H04R1/28—Transducer mountings or enclosures modified by provision of mechanical or acoustic impedances, e.g. resonator, damping means
- H04R1/2869—Reduction of undesired resonances, i.e. standing waves within enclosure, or of undesired vibrations, i.e. of the enclosure itself
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K2210/00—Details of active noise control [ANC] covered by G10K11/178 but not provided for in any of its subgroups
- G10K2210/10—Applications
- G10K2210/129—Vibration, e.g. instead of, or in addition to, acoustic noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
- H04R2430/00—Signal processing covered by H04R, not provided for in its groups
- H04R2430/01—Aspects of volume control, not necessarily automatic, in sound systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
- H04R2499/00—Aspects covered by H04R or H04S not otherwise provided for in their subgroups
- H04R2499/10—General applications
- H04R2499/11—Transducers incorporated or for use in hand-held devices, e.g. mobile phones, PDA's, camera's
Definitions
- Portable computing devices such as smartphones, tablets, and laptops, may utilize a vibrational output device to provide haptic feedback. Vibrational outputs may be used in response to events such as alarms, incoming calls, received messages, and notifications, as well as for haptic feedback for actuation of buttons or user interface elements.
- Examples are disclosed herein that relate to avoiding mechanical noise from operation of a vibrational output device.
- One example provides a computing device including a processor and a storage device storing instructions executable by the processor to vary a drive voltage applied to a vibrational output device, receive acoustic data, and from the acoustic data detect a noise signal from the vibrational output device as the drive voltage is varied.
- the instructions are further executable to, based upon the detected noise signal, select an operational drive voltage for the vibrational output device, and operate the vibrational output device using the operational drive voltage.
- FIGS. 1A and IB show example scenarios in which computing devices respectively provide vibrational outputs without and with mechanical rattle.
- FIG. 2 shows a block diagram of an example computing device comprising a vibrational output device.
- FIG. 3 is a flow diagram illustrating an example method for calibrating a vibrational output device during manufacturing.
- FIG. 4 is a flow diagram illustrating an example method for calibrating a vibrational output device during use.
- FIG. 5 shows a block diagram of an example computing system.
- a portable device may utilize a vibrational output device to provide haptic outputs in response to various device events.
- a vibrational output device may take the form of an eccentric rotating mass vibrator, which may include an off-center mass mounted to a motor, such that operation of the motor causes the weight to move in an off-balanced manner, thereby producing vibration.
- a vibrational output device also may take the form of a linear resonant actuator, in which a motor drives a coil pressed against a moving mass connected to a spring, such that the device vibrates when the coil is driven at the resonant frequency of the spring.
- the resulting vibration may be easily noticeable by a person carrying the portable device but only slightly audible, if at all, to other people nearby.
- a magnitude of the vibration is a function of a drive voltage applied to the vibrational output device, such that higher drive voltages can achieve stronger vibrations.
- the use of higher drive voltages may be helpful, for example, to achieve a desired vibrational intensity from a smaller vibrational output device.
- an eccentric rotating mass or a linear resonant actuator may contact a housing of the vibrational output device, and thereby cause rattling noise. This is distinguished from the expected noise of the vibration itself, as well as from rattling noise that is contributed by any external sources, such as rattling of the device against a hard surface. The resulting rattling noise may be distracting to the user and nearby people.
- 1A and IB respectively show scenario 100 in which a mobile device 102 is operating at a drive voltage that does not cause an audible rattling noise, and scenario 104 in which the vibrational output device is operating at a drive voltage that produces an audible rattling noise that distracts another person 106.
- Driving a vibrational output device with a sufficiently low voltage may help to avoid such rattle.
- One approach is to use a voltage-current sensor, or V/I sensor, to measure the resonant frequency of the vibrational output device, and select a fixed drive voltage based on the resonant frequency.
- V/I sensor voltage-current sensor
- optimal driving voltages across vibrational output devices may vary.
- vibrational output performance may vary with the size of the vibrational output device, the tolerances of springs in the vibrational output device, and other factors.
- Such variability across a population of vibrational output devices may lead to setting the drive voltage at lower value than desired for a population of computing devices incorporating the vibrational output devices so that the overall population avoids rattle. Further, even where this is done, performance of a vibrational output device may change over a device lifetime, and may begin to produce noise at a later point in time.
- acoustic data may be used to calibrate a vibrational output device drive voltage such that the noise from the vibrational output device remains below a noise threshold.
- a drive voltage is adjusted while monitoring for acoustic noise from the vibrational output device.
- a drive voltage at which the detected acoustic noise is close to, but below, the noise threshold may be identified and set as an operative drive voltage.
- This process may be performed for each computing device during manufacturing to calibrate the vibrational output device of each computing device individually, thereby avoiding the use of an undesirably low drive voltage selected to accommodate a population of devices. This process may also be performed during use of the device after manufacturing, either as a user-initiated process or automatically.
- FIG. 2 schematically shows a block diagram of an example computing device 200 comprising a vibrational output device 202.
- Computing device 200 may represent a smartphone, tablet, laptop, mouse, game controller, or any other suitable device that utilizes vibrational outputs.
- FIG. 2 illustrates components used for an example calibration process, and omits other structures.
- Computing device 200 may include a microphone system 204 comprising one or more microphones. As described in more detail below, the microphone system 204 may be utilized to detect background noise 206 and mechanical noise from the vibrational output device 202 in a calibration process. In other examples, a microphone system external to computing device 200 may be used.
- DSP digital signal processor
- DSP 208 performs various signal processing for helping to identifying mechanical noise (a "noise signal") from the vibrational output device.
- DSP 208 further includes a drive voltage adjustment module 210 that is configured to analyze the identified mechanical noise received via microphone system 204, and adjust the drive voltage based on analysis of the acoustic signals.
- DSP 208 may perform any suitable signal processing to identify mechanical noise from vibrational output device 202.
- DSP 208 may apply various filters when vibrational output device 202 is active to pass a characteristic mechanical noise frequency arising from the vibrational output device 202 (which may have stronger high-frequency components than noise from computing device 200 rattling against a table or other surface) while attenuating other frequencies comprising background noise 206.
- Background noise 206 may include background noise not arising from the vibrational output device, such as ambient environmental sounds and sounds arising from other components of computing device 200, as well as background noise arising from vibrational output device 200, e.g. where computing device 200 is rattling against a tabletop during operation of vibrational output device 202.
- Background noise not arising from vibrational output device 202 may be attenuated, for example, by sampling the background noise at times when vibrational output device 202 is not active (e.g. between vibration pulses), and then subtracting or otherwise computationally compensating for the background noise from signals received when vibrational output device 202 is active.
- Background noise arising from the vibrational output device 202 may be attenuated, for example, by utilizing a bandpass filter to pass frequencies specifically associated with the mechanical rattle of the vibrational output device 202, and/or by transforming the time-domain signal from the microphone system to a frequency- domain signal and then analyzing the specific frequencies associated with the mechanical rattle. Such frequencies may be determined during device manufacturing (e.g. by storing and analyzing audio samples of the rattle acquired during calibration).
- the drive voltage adjustment module may compare the resulting signal to one or more noise thresholds to determine if the vibrational output device is producing mechanical noise of a threshold magnitude, and if so, set a drive voltage based upon the determination.
- individual frequency components may be separated for analysis, such as by performing a Fourier transform (e.g. using a fast Fourier transform or other suitable algorithm) on the acoustic data from microphone system 204.
- a Fourier transform e.g. using a fast Fourier transform or other suitable algorithm
- a magnitude of the noise signal at one or more frequencies corresponding to the mechanical noise from vibrational output device 202 then may be compared to one or more corresponding thresholds for those intensities to help select a drive voltage.
- psychoacoustical parameters of the noise signal may also be analyzed, including roughness, sharpness, and disturbance of the noise.
- Drive voltage adjustment module 210 may sweep through a range of drive voltages, and analyze acoustic information received via microphone throughout the sweep. Drive voltage adjustment module 210 may adjust the voltage either upwardly or downwardly in such a process. Where the drive voltage is adjusted upwardly, drive voltage adjustment module 110 may increase the drive voltage progressively (continually, step-wise or in any other suitable manner) until the noise signal surpasses the threshold magnitude, and then set the drive voltage to just below the level at which the threshold noise was detected. Likewise, where the drive voltage is adjusted downwardly, drive voltage adjustment module 210 may progressively decrease the drive voltage, until the noise is no longer detected or the noise signal falls below a threshold magnitude, and then set the drive voltage at that level. In this manner, the drive voltage may be adjusted for each individual device of a population of devices during manufacturing, which may help to avoid issues that arise when setting a same drive voltage for a population of devices.
- FIG. 3 shows an example method 300 of calibrating a drive voltage for operating a vibrational output device during manufacturing.
- Method 300 may be performed on any suitable computing device that comprises a vibrational output device.
- method 300 includes varying a drive voltage applied to a vibrational output device of a computing device, and at 304, receiving acoustic data at one or more microphones while varying the drive voltage.
- the acoustic data may be received via an internal microphone of the computing device at 306, while in other examples the acoustic data may be received via an external microphone at 308.
- Method 300 further includes, at 310, detecting from the acoustic data a noise signal from the vibrational output device as the drive voltage is varied.
- the noise signal from the vibrational output device may be detected and analyzed in any suitable manner. For example, one or more filters may be applied, as indicated at 312.
- background noise may be sampled while the vibrational output device is not active (e.g. between vibration pulses), and this background noise may be subtracted from a noise signal received when the vibrational output device is active to increase a signal-to-noise ratio.
- a time-frequency domain transform algorithm e.g.
- Method 300 further includes, at 314, selecting, based upon the detected noise signal from the vibrational output device, an operational drive voltage for the vibrational output device.
- this may include comparing a detected magnitude of the noise signal to a threshold magnitude, and selecting the operational drive voltage such that the detected magnitude is a desired amount below the threshold magnitude.
- Method 300 then includes operating the vibrational output device using the operational drive voltage, at 318.
- a vibrational output device may occasionally need recalibration at other times throughout its lifetime due, for example, to changes in performance. Calibration may be user-initiated, scheduled, or triggered in any other suitable manner.
- computing device 200 comprises a user interface component 212 at which a user may select to perform a calibration process and/or adjust settings related to a calibration process (e.g. by defining events that trigger calibration, such as a specific time/date schedule and/or a dropping of the device or similar sudden acceleration event as determined from inertial sensor data, and/or by defining specific vibration events to use for calibration).
- FIG. 4 shows an example method 400 of calibrating a drive voltage for operating a vibrational output device during use.
- Method 400 includes, at 402, detecting operation of the vibrational output device of a computing device. This may include, for example, detecting an event for which the computing device provides vibrational output, as indicated at 404. Examples of such events include an alarm, as indicated at 406, an alert, an incoming call, a received message, a notification from an application, a calendar reminder, and/or any other suitable device event for which the computing device may provide vibrational output.
- Method 400 further includes, at 408, during operation of the vibrational output device, varying a drive voltage of the vibrational output device, and receiving acoustic data from one or more microphones, e.g. an internal microphone of the computing device, while varying the voltage.
- method 400 includes, from the acoustic data, detecting a noise signal from the vibrational output device as the drive voltage is varied. Detecting the noise signal from the vibrational output device may include various processes to remove background noise from the vibrational output device mechanical noise signal. Such background noise may include environmental noise, and noise arising from the computing device itself (e.g. a sound of the computing device rattling against a hard surface such as a table during vibration, and/or an alarm sound output by a speaker).
- Environmental noise and device noise not arising from the vibrational output device may be reduced, as indicated at 412, by sampling the background noise while the vibrational output device is not operating and computationally reducing the noise based upon the samples acquired (e.g. by subtraction), and/or by applying filters to reduce characteristic frequencies of such noise, as indicated at 414.
- Whether the background noise sample is acquired while an acoustic alarm or other acoustic output is off or on may depend upon whether the alarm or other acoustic output will be on when the vibrational output device mechanical noise sample is acquired.
- a Fourier transform or other suitable transform may be used to transform the acoustic input from the microphone from the time domain to the frequency domain, as indicated at 415.
- noise reduction and/or signal analysis may be performed at specific frequencies in the frequency domain, which may be informed by frequencies of noise signals of vibrational outputs received during manufacturing calibration.
- the computing device may automatically perform noise cancellation for noises identified as originating within the computing device itself.
- Such measurements may be repeated and accumulated over multiple occurrences of the vibrational output.
- data from one or more inertial sensors of the computing device may be utilized to further inform the measurements. For example, noise data collected while a device is in a user's hand may be more useful than noise data collected while a device is set down onto a surface, due to possible rattling of the device against the surface.
- inertial data and other sensor data e.g. touch data
- a detected magnitude of the noise signal (either as a sum of all frequencies or at characteristic frequencies of the vibrational output device mechanical) may be compared to a threshold magnitude to help determine a suitable drive voltage.
- Other factors may also be considered, such as the use of psychoacoustical models to analyze the roughness, sharpness, or disturbance of the detected noise signal.
- method 400 includes, at 416, based upon the detected noise signal, selecting an operational drive voltage for the vibrational output device, and operating the vibrational output device using the operational drive voltage, at 418.
- different drive voltages may be calibrated for different events involving vibrational output.
- a drive voltage for a vibrational output device may be calibrated individually, as opposed to population-wide, both during manufacturing and over the useful lifetime of the device. This may allow individual drive voltages to be set to higher magnitudes than can be done when calibrating on a population- wide basis.
- the methods and processes described herein may be tied to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as a computer-application program or service, an application-programming interface (API), a library, and/or other computer-program product.
- API application-programming interface
- FIG. 5 schematically shows a non-limiting embodiment of a computing system 500 that can enact one or more of the methods and processes described above.
- Computing system 500 is shown in simplified form.
- Computing system 500 may take the form of one or more personal computers, server computers, tablet computers, home- entertainment computers, network computing devices, gaming devices, mobile computing devices, mobile communication devices (e.g., smart phone), and/or other computing devices.
- Computing system 500 includes a logic subsystem 502 and a storage subsystem 504.
- Computing system 500 may optionally include a display subsystem 506, input subsystem 508, communication subsystem 510, and/or other components not shown in FIG. 5.
- Logic subsystem 502 includes one or more physical devices configured to execute instructions.
- the logic machine may be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs.
- Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise arrive at a desired result.
- Logic subsystem 502 may include one or more processors configured to execute software instructions. Additionally or alternatively, logic subsystem 502 may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. Processors of logic subsystem 502 may be single-core or multi- core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of logic subsystem 502 optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of logic subsystem 502 may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud- computing configuration.
- Storage subsystem 504 includes one or more physical devices configured to hold instructions executable by logic subsystem 502 to implement the methods and processes described herein. When such methods and processes are implemented, the state of storage subsystem 504 may be transformed— e.g., to hold different data.
- Storage subsystem 504 may include removable and/or built-in devices.
- Storage subsystem 504 may include optical memory (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory (e.g., RAM, EPROM, EEPROM, etc.), and/or magnetic memory (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM, etc.), among others.
- Storage subsystem 504 may include volatile, nonvolatile, dynamic, static, read/write, readonly, random-access, sequential-access, location-addressable, file-addressable, and/or content-addressable devices.
- storage subsystem 504 includes one or more physical devices.
- aspects of the instructions described herein alternatively may be propagated by a communication medium (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for a finite duration.
- a communication medium e.g., an electromagnetic signal, an optical signal, etc.
- logic subsystem 506 and storage subsystem 504 may be integrated together into one or more hardware-logic components.
- Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC / ASICs), program- and application-specific standard products (PSSP / ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.
- FPGAs field-programmable gate arrays
- PASIC / ASICs program- and application-specific integrated circuits
- PSSP / ASSPs program- and application-specific standard products
- SOC system-on-a-chip
- CPLDs complex programmable logic devices
- display subsystem 506 may be used to present a visual representation of data held by storage subsystem 504.
- This visual representation may take the form of a graphical user interface (GUI).
- GUI graphical user interface
- Display subsystem 506 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic subsystem 502 and/or storage subsystem 504 in a shared enclosure, or such display devices may be peripheral display devices.
- input subsystem 508 may comprise or interface with one or more user-input devices such as a keyboard, mouse, touch screen, or game controller.
- the input subsystem may comprise or interface with selected natural user input (NUI) componentry.
- NUI natural user input
- Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board.
- NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity.
- communication subsystem 510 may be configured to communicatively couple computing system 500 with one or more other computing devices.
- Communication subsystem 510 may include wired and/or wireless communication devices compatible with one or more different communication protocols.
- the communication subsystem 510 may be configured for communication via a wireless telephone network, or a wired or wireless local- or wide-area network.
- the communication subsystem 510 may allow computing system 500 to send and/or receive messages to and/or from other devices via a network such as the Internet.
- a computing device comprising a processor, and a storage device storing instructions executable by the processor to vary a drive voltage applied to a vibrational output device, receive acoustic data, from the acoustic data, detect a noise signal from the vibrational output device as the drive voltage is varied, based upon the detected noise signal, select an operational drive voltage for the vibrational output device, and operate the vibrational output device using the operational drive voltage.
- the instructions may be additionally or alternatively executable to detect a noise signal by applying a bandpass filter configured to pass a mechanical noise frequency of the vibrational output device.
- the instructions may be additionally or alternatively executable to receive acoustic data from one or more microphones internal to the computing device.
- the instructions may be additionally or alternatively executable to receive acoustic data from one or more microphones external to the computing device.
- the instructions may be additionally or alternatively executable to compare a detected magnitude of the noise signal to a threshold magnitude, and select the operational drive voltage such that the detected magnitude of the noise signal is below the threshold magnitude.
- the instructions may be additionally or alternatively executable to calibrate the vibrational output device during manufacturing.
- the instructions may be additionally or alternatively executable to calibrate the vibrational output device during device use.
- the instructions may be additionally or alternatively executable to transform the acoustic data from a time domain to a frequency domain.
- the instructions may be additionally or alternatively executable to obtain a background noise level, and not perform a calibration of the vibrational output device based on the background noise level exceeding a threshold background noise level.
- a computing device comprising a vibrational output device, a microphone, a processor, and storage comprising instructions executable by the processor to vary a drive voltage applied to the vibrational output device, receive acoustic data via the microphone, from the acoustic data, detect a noise signal from the vibrational output device as the drive voltage is varied, based upon the detected noise signal, select an operational drive voltage for the vibrational output device, and operate the vibrational output device using the operational drive voltage.
- the instructions executable to detect a noise signal may additionally or alternatively include instructions executable to apply a bandpass filter to pass a mechanical noise frequency of the vibrational output device.
- the instructions may additionally or alternatively be executable to compare a detected magnitude of the noise signal to a threshold magnitude, and select the operational drive voltage such that the detected magnitude is below the threshold magnitude.
- the instructions may additionally or alternatively be executable to calibrate the vibrational output device during manufacturing.
- the instructions may be additionally or alternatively executable to calibrate the vibrational output device during ordinary use.
- the instructions may be additionally or alternatively executable to calibrate the vibrational output device based on user input.
- the instructions may additionally or alternatively be executable to obtain a background noise level, and not perform calibration based on the background noise level exceeding a threshold background noise level.
- Another example provides, on a computing device, a method of selecting a drive voltage for operating a vibrational output device, the method comprising detecting operation of the vibrational output device, during operation of the vibrational output device, varying a drive voltage of the vibrational output device and receiving acoustic data from one or more microphones of the computing device, from the acoustic data, detecting a noise signal from the vibrational output device as the drive voltage is varied, based upon the detected noise signal, selecting an operational drive voltage for the vibrational output device, and operating the vibrational output device using the operational drive voltage.
- Detecting operation of the vibrational output device may additionally or alternatively include detecting an event for which the computing device provides vibrational output.
- the event may additionally or alternatively include an alarm.
- the method may additionally or alternatively include obtaining a background noise level at a time when acoustic output and vibrational output of the alarm are in an off state.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Otolaryngology (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Soundproofing, Sound Blocking, And Sound Damping (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Examples are disclosed herein that relate to avoiding mechanical noise from operation of a vibrational output device. One example provides a computing device including a processor and a storage device storing instructions executable by the processor to vary a drive voltage applied to a vibrational output device, receive acoustic data, and from the acoustic data detect a noise signal from the vibrational output device as the drive voltage is varied. The instructions are further executable to, based upon the detected noise signal, select an operational drive voltage for the vibrational output device, and operate the vibrational output device using the operational drive voltage.
Description
CALIBRATING A VIBRATIONAL OUTPUT DEVICE
BACKGROUND
[0001] Portable computing devices, such as smartphones, tablets, and laptops, may utilize a vibrational output device to provide haptic feedback. Vibrational outputs may be used in response to events such as alarms, incoming calls, received messages, and notifications, as well as for haptic feedback for actuation of buttons or user interface elements.
SUMMARY
[0002] Examples are disclosed herein that relate to avoiding mechanical noise from operation of a vibrational output device. One example provides a computing device including a processor and a storage device storing instructions executable by the processor to vary a drive voltage applied to a vibrational output device, receive acoustic data, and from the acoustic data detect a noise signal from the vibrational output device as the drive voltage is varied. The instructions are further executable to, based upon the detected noise signal, select an operational drive voltage for the vibrational output device, and operate the vibrational output device using the operational drive voltage.
[0003] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] FIGS. 1A and IB show example scenarios in which computing devices respectively provide vibrational outputs without and with mechanical rattle.
[0005] FIG. 2 shows a block diagram of an example computing device comprising a vibrational output device.
[0006] FIG. 3 is a flow diagram illustrating an example method for calibrating a vibrational output device during manufacturing.
[0007] FIG. 4 is a flow diagram illustrating an example method for calibrating a vibrational output device during use.
[0008] FIG. 5 shows a block diagram of an example computing system.
DETAILED DESCRIPTION
[0009] As mentioned above, a portable device may utilize a vibrational output device to provide haptic outputs in response to various device events. As one example, a vibrational output device may take the form of an eccentric rotating mass vibrator, which may include an off-center mass mounted to a motor, such that operation of the motor causes the weight to move in an off-balanced manner, thereby producing vibration. A vibrational output device also may take the form of a linear resonant actuator, in which a motor drives a coil pressed against a moving mass connected to a spring, such that the device vibrates when the coil is driven at the resonant frequency of the spring. In either example, the resulting vibration may be easily noticeable by a person carrying the portable device but only slightly audible, if at all, to other people nearby.
[0010] A magnitude of the vibration is a function of a drive voltage applied to the vibrational output device, such that higher drive voltages can achieve stronger vibrations. The use of higher drive voltages may be helpful, for example, to achieve a desired vibrational intensity from a smaller vibrational output device. However, if driven too hard, an eccentric rotating mass or a linear resonant actuator may contact a housing of the vibrational output device, and thereby cause rattling noise. This is distinguished from the expected noise of the vibration itself, as well as from rattling noise that is contributed by any external sources, such as rattling of the device against a hard surface. The resulting rattling noise may be distracting to the user and nearby people. FIGS. 1A and IB respectively show scenario 100 in which a mobile device 102 is operating at a drive voltage that does not cause an audible rattling noise, and scenario 104 in which the vibrational output device is operating at a drive voltage that produces an audible rattling noise that distracts another person 106.
[0011] Driving a vibrational output device with a sufficiently low voltage may help to avoid such rattle. However, it may be challenging to select a drive voltage that provides suitable vibrational feedback while avoiding noise. One approach is to use a voltage-current sensor, or V/I sensor, to measure the resonant frequency of the vibrational output device, and select a fixed drive voltage based on the resonant frequency. However, because of manufacturing tolerances, optimal driving voltages across vibrational output devices may vary. For example, vibrational output performance may vary with the size of the vibrational output device, the tolerances of springs in the vibrational output device, and other factors. Such variability across a population of vibrational output devices may lead to setting the drive voltage at lower value than desired for a population of computing devices
incorporating the vibrational output devices so that the overall population avoids rattle. Further, even where this is done, performance of a vibrational output device may change over a device lifetime, and may begin to produce noise at a later point in time.
[0012] Accordingly, examples are disclosed herein that relate to calibrating the vibrational output device in a manner that may help to address the issues described above. Briefly, acoustic data may be used to calibrate a vibrational output device drive voltage such that the noise from the vibrational output device remains below a noise threshold. During calibration, a drive voltage is adjusted while monitoring for acoustic noise from the vibrational output device. In this manner, a drive voltage at which the detected acoustic noise is close to, but below, the noise threshold may be identified and set as an operative drive voltage. This process may be performed for each computing device during manufacturing to calibrate the vibrational output device of each computing device individually, thereby avoiding the use of an undesirably low drive voltage selected to accommodate a population of devices. This process may also be performed during use of the device after manufacturing, either as a user-initiated process or automatically.
[0013] FIG. 2 schematically shows a block diagram of an example computing device 200 comprising a vibrational output device 202. Computing device 200 may represent a smartphone, tablet, laptop, mouse, game controller, or any other suitable device that utilizes vibrational outputs. FIG. 2 illustrates components used for an example calibration process, and omits other structures.
[0014] Computing device 200 may include a microphone system 204 comprising one or more microphones. As described in more detail below, the microphone system 204 may be utilized to detect background noise 206 and mechanical noise from the vibrational output device 202 in a calibration process. In other examples, a microphone system external to computing device 200 may be used.
[0015] Acoustic input from microphone system 204 is received at a digital signal processor (DSP) 208, which performs various signal processing for helping to identifying mechanical noise (a "noise signal") from the vibrational output device. DSP 208 further includes a drive voltage adjustment module 210 that is configured to analyze the identified mechanical noise received via microphone system 204, and adjust the drive voltage based on analysis of the acoustic signals. DSP 208 may perform any suitable signal processing to identify mechanical noise from vibrational output device 202. For example, DSP 208 may apply various filters when vibrational output device 202 is active to pass a characteristic mechanical noise frequency arising from the vibrational output device 202 (which may have
stronger high-frequency components than noise from computing device 200 rattling against a table or other surface) while attenuating other frequencies comprising background noise 206.
[0016] Background noise 206 may include background noise not arising from the vibrational output device, such as ambient environmental sounds and sounds arising from other components of computing device 200, as well as background noise arising from vibrational output device 200, e.g. where computing device 200 is rattling against a tabletop during operation of vibrational output device 202.
[0017] Background noise not arising from vibrational output device 202 may be attenuated, for example, by sampling the background noise at times when vibrational output device 202 is not active (e.g. between vibration pulses), and then subtracting or otherwise computationally compensating for the background noise from signals received when vibrational output device 202 is active. Background noise arising from the vibrational output device 202 may be attenuated, for example, by utilizing a bandpass filter to pass frequencies specifically associated with the mechanical rattle of the vibrational output device 202, and/or by transforming the time-domain signal from the microphone system to a frequency- domain signal and then analyzing the specific frequencies associated with the mechanical rattle. Such frequencies may be determined during device manufacturing (e.g. by storing and analyzing audio samples of the rattle acquired during calibration). After such background noise-reducing processes, the drive voltage adjustment module may compare the resulting signal to one or more noise thresholds to determine if the vibrational output device is producing mechanical noise of a threshold magnitude, and if so, set a drive voltage based upon the determination.
[0018] In some examples, individual frequency components may be separated for analysis, such as by performing a Fourier transform (e.g. using a fast Fourier transform or other suitable algorithm) on the acoustic data from microphone system 204. After transforming the input to the frequency domain, a magnitude of the noise signal at one or more frequencies corresponding to the mechanical noise from vibrational output device 202 then may be compared to one or more corresponding thresholds for those intensities to help select a drive voltage. In other examples, psychoacoustical parameters of the noise signal may also be analyzed, including roughness, sharpness, and disturbance of the noise.
[0019] Drive voltage adjustment module 210 may sweep through a range of drive voltages, and analyze acoustic information received via microphone throughout the sweep. Drive voltage adjustment module 210 may adjust the voltage either upwardly or
downwardly in such a process. Where the drive voltage is adjusted upwardly, drive voltage adjustment module 110 may increase the drive voltage progressively (continually, step-wise or in any other suitable manner) until the noise signal surpasses the threshold magnitude, and then set the drive voltage to just below the level at which the threshold noise was detected. Likewise, where the drive voltage is adjusted downwardly, drive voltage adjustment module 210 may progressively decrease the drive voltage, until the noise is no longer detected or the noise signal falls below a threshold magnitude, and then set the drive voltage at that level. In this manner, the drive voltage may be adjusted for each individual device of a population of devices during manufacturing, which may help to avoid issues that arise when setting a same drive voltage for a population of devices.
[0020] FIG. 3 shows an example method 300 of calibrating a drive voltage for operating a vibrational output device during manufacturing. Method 300 may be performed on any suitable computing device that comprises a vibrational output device. At 302, method 300 includes varying a drive voltage applied to a vibrational output device of a computing device, and at 304, receiving acoustic data at one or more microphones while varying the drive voltage. In some examples, the acoustic data may be received via an internal microphone of the computing device at 306, while in other examples the acoustic data may be received via an external microphone at 308.
[0021] Method 300 further includes, at 310, detecting from the acoustic data a noise signal from the vibrational output device as the drive voltage is varied. The noise signal from the vibrational output device may be detected and analyzed in any suitable manner. For example, one or more filters may be applied, as indicated at 312. As another example, background noise may be sampled while the vibrational output device is not active (e.g. between vibration pulses), and this background noise may be subtracted from a noise signal received when the vibrational output device is active to increase a signal-to-noise ratio. Further, in some examples, a time-frequency domain transform algorithm (e.g. a Fourier transform) may be applied to extract frequency components from the acoustic input, which may allow individual characteristic frequency components of the noise signal to be analyzed, e.g. by comparing to a threshold for a specific frequency component. In yet other examples, psychoacoustic parameters of the noise signal may be analyzed, including roughness, sharpness, and disturbance (e.g. by magnitude at frequencies associated with such psychoacoustic parameters, a rate of change of the signal magnitude, etc.). Method 300 further includes, at 314, selecting, based upon the detected noise signal from the vibrational output device, an operational drive voltage for the vibrational output device. For
example, as indicated at 316, this may include comparing a detected magnitude of the noise signal to a threshold magnitude, and selecting the operational drive voltage such that the detected magnitude is a desired amount below the threshold magnitude. Method 300 then includes operating the vibrational output device using the operational drive voltage, at 318.
[0022] As mentioned above, a vibrational output device may occasionally need recalibration at other times throughout its lifetime due, for example, to changes in performance. Calibration may be user-initiated, scheduled, or triggered in any other suitable manner. Referring again briefly to FIG. 2, computing device 200 comprises a user interface component 212 at which a user may select to perform a calibration process and/or adjust settings related to a calibration process (e.g. by defining events that trigger calibration, such as a specific time/date schedule and/or a dropping of the device or similar sudden acceleration event as determined from inertial sensor data, and/or by defining specific vibration events to use for calibration).
[0023] FIG. 4 shows an example method 400 of calibrating a drive voltage for operating a vibrational output device during use. Method 400 includes, at 402, detecting operation of the vibrational output device of a computing device. This may include, for example, detecting an event for which the computing device provides vibrational output, as indicated at 404. Examples of such events include an alarm, as indicated at 406, an alert, an incoming call, a received message, a notification from an application, a calendar reminder, and/or any other suitable device event for which the computing device may provide vibrational output.
[0024] Method 400 further includes, at 408, during operation of the vibrational output device, varying a drive voltage of the vibrational output device, and receiving acoustic data from one or more microphones, e.g. an internal microphone of the computing device, while varying the voltage. At 410, method 400 includes, from the acoustic data, detecting a noise signal from the vibrational output device as the drive voltage is varied. Detecting the noise signal from the vibrational output device may include various processes to remove background noise from the vibrational output device mechanical noise signal. Such background noise may include environmental noise, and noise arising from the computing device itself (e.g. a sound of the computing device rattling against a hard surface such as a table during vibration, and/or an alarm sound output by a speaker). Environmental noise and device noise not arising from the vibrational output device may be reduced, as indicated at 412, by sampling the background noise while the vibrational output device is not operating and computationally reducing the noise based upon the samples acquired (e.g.
by subtraction), and/or by applying filters to reduce characteristic frequencies of such noise, as indicated at 414. Whether the background noise sample is acquired while an acoustic alarm or other acoustic output is off or on may depend upon whether the alarm or other acoustic output will be on when the vibrational output device mechanical noise sample is acquired. Further, in some examples, a Fourier transform or other suitable transform may be used to transform the acoustic input from the microphone from the time domain to the frequency domain, as indicated at 415. In such an example, noise reduction and/or signal analysis may be performed at specific frequencies in the frequency domain, which may be informed by frequencies of noise signals of vibrational outputs received during manufacturing calibration. In some examples, the computing device may automatically perform noise cancellation for noises identified as originating within the computing device itself.
[0025] Such measurements may be repeated and accumulated over multiple occurrences of the vibrational output. In some examples, data from one or more inertial sensors of the computing device may be utilized to further inform the measurements. For example, noise data collected while a device is in a user's hand may be more useful than noise data collected while a device is set down onto a surface, due to possible rattling of the device against the surface. As such, inertial data and other sensor data (e.g. touch data) may be used to determine whether acoustic noise measurements are taken when the device is in hand.
[0026] After performing such noise reduction techniques, a detected magnitude of the noise signal (either as a sum of all frequencies or at characteristic frequencies of the vibrational output device mechanical) may be compared to a threshold magnitude to help determine a suitable drive voltage. Other factors may also be considered, such as the use of psychoacoustical models to analyze the roughness, sharpness, or disturbance of the detected noise signal. Thus, method 400 includes, at 416, based upon the detected noise signal, selecting an operational drive voltage for the vibrational output device, and operating the vibrational output device using the operational drive voltage, at 418. In some examples, different drive voltages may be calibrated for different events involving vibrational output.
[0027] Thus, according to the examples above, a drive voltage for a vibrational output device may be calibrated individually, as opposed to population-wide, both during manufacturing and over the useful lifetime of the device. This may allow individual drive voltages to be set to higher magnitudes than can be done when calibrating on a population- wide basis. In some embodiments, the methods and processes described herein may be tied
to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as a computer-application program or service, an application-programming interface (API), a library, and/or other computer-program product.
[0028] FIG. 5 schematically shows a non-limiting embodiment of a computing system 500 that can enact one or more of the methods and processes described above. Computing system 500 is shown in simplified form. Computing system 500 may take the form of one or more personal computers, server computers, tablet computers, home- entertainment computers, network computing devices, gaming devices, mobile computing devices, mobile communication devices (e.g., smart phone), and/or other computing devices.
[0029] Computing system 500 includes a logic subsystem 502 and a storage subsystem 504. Computing system 500 may optionally include a display subsystem 506, input subsystem 508, communication subsystem 510, and/or other components not shown in FIG. 5.
[0030] Logic subsystem 502 includes one or more physical devices configured to execute instructions. For example, the logic machine may be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise arrive at a desired result.
[0031] Logic subsystem 502 may include one or more processors configured to execute software instructions. Additionally or alternatively, logic subsystem 502 may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. Processors of logic subsystem 502 may be single-core or multi- core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of logic subsystem 502 optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of logic subsystem 502 may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud- computing configuration.
[0032] Storage subsystem 504 includes one or more physical devices configured to hold instructions executable by logic subsystem 502 to implement the methods and processes described herein. When such methods and processes are implemented, the state
of storage subsystem 504 may be transformed— e.g., to hold different data.
[0033] Storage subsystem 504 may include removable and/or built-in devices.
Storage subsystem 504 may include optical memory (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory (e.g., RAM, EPROM, EEPROM, etc.), and/or magnetic memory (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM, etc.), among others. Storage subsystem 504 may include volatile, nonvolatile, dynamic, static, read/write, readonly, random-access, sequential-access, location-addressable, file-addressable, and/or content-addressable devices.
[0034] It will be appreciated that storage subsystem 504 includes one or more physical devices. However, aspects of the instructions described herein alternatively may be propagated by a communication medium (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for a finite duration.
[0035] Aspects of logic subsystem 506 and storage subsystem 504 may be integrated together into one or more hardware-logic components. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC / ASICs), program- and application-specific standard products (PSSP / ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.
[0036] When included, display subsystem 506 may be used to present a visual representation of data held by storage subsystem 504. This visual representation may take the form of a graphical user interface (GUI). As the herein described methods and processes change the data held by the storage machine, and thus transform the state of the storage machine, the state of display subsystem 506 may likewise be transformed to visually represent changes in the underlying data. Display subsystem 506 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic subsystem 502 and/or storage subsystem 504 in a shared enclosure, or such display devices may be peripheral display devices.
[0037] When included, input subsystem 508 may comprise or interface with one or more user-input devices such as a keyboard, mouse, touch screen, or game controller. In some embodiments, the input subsystem may comprise or interface with selected natural user input (NUI) componentry. Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Example NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture
recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity.
[0038] When included, communication subsystem 510 may be configured to communicatively couple computing system 500 with one or more other computing devices. Communication subsystem 510 may include wired and/or wireless communication devices compatible with one or more different communication protocols. As non-limiting examples, the communication subsystem 510 may be configured for communication via a wireless telephone network, or a wired or wireless local- or wide-area network. In some embodiments, the communication subsystem 510 may allow computing system 500 to send and/or receive messages to and/or from other devices via a network such as the Internet.
[0039] Another example provides a computing device comprising a processor, and a storage device storing instructions executable by the processor to vary a drive voltage applied to a vibrational output device, receive acoustic data, from the acoustic data, detect a noise signal from the vibrational output device as the drive voltage is varied, based upon the detected noise signal, select an operational drive voltage for the vibrational output device, and operate the vibrational output device using the operational drive voltage. The instructions may be additionally or alternatively executable to detect a noise signal by applying a bandpass filter configured to pass a mechanical noise frequency of the vibrational output device. The instructions may be additionally or alternatively executable to receive acoustic data from one or more microphones internal to the computing device. The instructions may be additionally or alternatively executable to receive acoustic data from one or more microphones external to the computing device. The instructions may be additionally or alternatively executable to compare a detected magnitude of the noise signal to a threshold magnitude, and select the operational drive voltage such that the detected magnitude of the noise signal is below the threshold magnitude. The instructions may be additionally or alternatively executable to calibrate the vibrational output device during manufacturing. The instructions may be additionally or alternatively executable to calibrate the vibrational output device during device use. The instructions may be additionally or alternatively executable to transform the acoustic data from a time domain to a frequency domain. The instructions may be additionally or alternatively executable to obtain a background noise level, and not perform a calibration of the vibrational output device based on the background noise level exceeding a threshold background noise level.
[0040] Another example provides a computing device comprising a vibrational
output device, a microphone, a processor, and storage comprising instructions executable by the processor to vary a drive voltage applied to the vibrational output device, receive acoustic data via the microphone, from the acoustic data, detect a noise signal from the vibrational output device as the drive voltage is varied, based upon the detected noise signal, select an operational drive voltage for the vibrational output device, and operate the vibrational output device using the operational drive voltage. The instructions executable to detect a noise signal may additionally or alternatively include instructions executable to apply a bandpass filter to pass a mechanical noise frequency of the vibrational output device. The instructions may additionally or alternatively be executable to compare a detected magnitude of the noise signal to a threshold magnitude, and select the operational drive voltage such that the detected magnitude is below the threshold magnitude. The instructions may additionally or alternatively be executable to calibrate the vibrational output device during manufacturing. The instructions may be additionally or alternatively executable to calibrate the vibrational output device during ordinary use. The instructions may be additionally or alternatively executable to calibrate the vibrational output device based on user input. The instructions may additionally or alternatively be executable to obtain a background noise level, and not perform calibration based on the background noise level exceeding a threshold background noise level.
[0041] Another example provides, on a computing device, a method of selecting a drive voltage for operating a vibrational output device, the method comprising detecting operation of the vibrational output device, during operation of the vibrational output device, varying a drive voltage of the vibrational output device and receiving acoustic data from one or more microphones of the computing device, from the acoustic data, detecting a noise signal from the vibrational output device as the drive voltage is varied, based upon the detected noise signal, selecting an operational drive voltage for the vibrational output device, and operating the vibrational output device using the operational drive voltage. Detecting operation of the vibrational output device may additionally or alternatively include detecting an event for which the computing device provides vibrational output. The event may additionally or alternatively include an alarm. The method may additionally or alternatively include obtaining a background noise level at a time when acoustic output and vibrational output of the alarm are in an off state.
[0042] It will be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific
routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated and/or described may be performed in the sequence illustrated and/or described, in other sequences, in parallel, or omitted. Likewise, the order of the above-described processes may be changed.
[0043] The subject matter of the present disclosure includes all novel and non- obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.
Claims
1. A computing device comprising:
a processor; and
a storage device storing instructions executable by the processor to
vary a drive voltage applied to a vibrational output device, receive acoustic data,
from the acoustic data, detect a noise signal from the vibrational output device as the drive voltage is varied,
based upon the detected noise signal, select an operational drive voltage for the vibrational output device, and
operate the vibrational output device using the operational drive voltage.
2. The computing device of claim 1, wherein the instructions are executable to detect a noise signal by applying a bandpass filter configured to pass a mechanical noise frequency of the vibrational output device.
3. The computing device of claim 1, wherein the instructions are executable to receive acoustic data from one or more microphones internal to the computing device.
4. The computing device of claim 1, wherein the instructions are executable to receive acoustic data from one or more microphones external to the computing device.
5. The computing device of claim 1, wherein the instructions are further executable to compare a detected magnitude of the noise signal to a threshold magnitude, and select the operational drive voltage such that the detected magnitude of the noise signal is below the threshold magnitude.
6. The computing device of claim 1 , wherein the instructions are executable to calibrate the vibrational output device during manufacturing.
7. The computing device of claim 1 , wherein the instructions are executable to calibrate the vibrational output device during device use.
8. The computing device of claim 7, wherein the instructions are further executable to transform the acoustic data from a time domain to a frequency domain.
9. The computing device of claim 1, wherein the instructions are further executable to obtain a background noise level, and not perform a calibration of the vibrational output device based on the background noise level exceeding a threshold background noise level.
10. On a computing device, a method of selecting a drive voltage for operating a vibrational output device, the method comprising:
detecting operation of the vibrational output device;
during operation of the vibrational output device, varying a drive voltage of the vibrational output device and receiving acoustic data from one or more microphones of the computing device;
from the acoustic data, detecting a noise signal from the vibrational output device as the drive voltage is varied;
based upon the detected noise signal, selecting an operational drive voltage for the vibrational output device; and
operating the vibrational output device using the operational drive voltage.
11. The method of claim 10, wherein detecting operation of the vibrational output device comprises detecting an event for which the computing device provides vibrational output.
12. The method of claim 11, wherein the event comprises an alarm.
13. The method of claim 12, further comprising obtaining a background noise level at a time when acoustic output and vibrational output of the alarm are in an off state.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/693,024 | 2017-08-31 | ||
| US15/693,024 US10573136B2 (en) | 2017-08-31 | 2017-08-31 | Calibrating a vibrational output device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019045846A1 true WO2019045846A1 (en) | 2019-03-07 |
Family
ID=63036307
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2018/038710 Ceased WO2019045846A1 (en) | 2017-08-31 | 2018-06-21 | Calibrating a vibrational output device |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10573136B2 (en) |
| WO (1) | WO2019045846A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230222998A1 (en) * | 2020-06-16 | 2023-07-13 | Sony Group Corporation | Information processing apparatus, information processing method, and program |
| US12314475B1 (en) * | 2024-04-30 | 2025-05-27 | Microsoft Technology Licensing, Llc | Computing device with haptic trackpad |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090002939A1 (en) * | 2007-06-29 | 2009-01-01 | Eric Baugh | Systems and methods for fan speed optimization |
| US20130076286A1 (en) * | 2011-09-23 | 2013-03-28 | Apple Inc. | Reducing tonal excitations in a computer system |
| US20140169581A1 (en) * | 2011-07-26 | 2014-06-19 | Sony Corporation | Audio signal processing device, imaging device, audio signal processing method, program, and recording medium |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2445363B (en) * | 2007-01-04 | 2009-07-22 | Motorola Inc | Equipment and method for controlling a wireless communication terminal |
| US8487759B2 (en) * | 2009-09-30 | 2013-07-16 | Apple Inc. | Self adapting haptic device |
| JP5635274B2 (en) * | 2010-01-27 | 2014-12-03 | 京セラ株式会社 | Tactile sensation presentation apparatus and tactile sensation presentation method |
| US9652944B2 (en) * | 2010-12-28 | 2017-05-16 | Lg Innotek Co., Ltd | Locally vibrating haptic apparatus, method for locally vibrating haptic apparatus, haptic display apparatus and vibrating panel using the same |
| US20130033366A1 (en) * | 2011-08-01 | 2013-02-07 | Mcdonough Colin Albright | Method and system for providing haptic feedback of variable intensity |
| KR101602663B1 (en) * | 2011-10-10 | 2016-03-14 | 한국전자통신연구원 | Electronic device case for supporting tactile feedback and operating method thereof |
| KR101919400B1 (en) * | 2012-07-12 | 2018-11-19 | 삼성전자 주식회사 | Motor driving signal generation system and method thereof, semiconductor device, electronic device and method for controlling vibration thereof |
| US9024738B2 (en) * | 2013-02-01 | 2015-05-05 | Blackberry Limited | Apparatus, systems and methods for mitigating vibration of an electronic device |
| US9204065B2 (en) * | 2013-10-28 | 2015-12-01 | Nokia Corporation | Removing noise generated from a non-audio component |
| US9214078B1 (en) * | 2014-06-17 | 2015-12-15 | David Seese | Individual activity monitoring system and method |
| US9588588B2 (en) * | 2014-09-22 | 2017-03-07 | Disney Enterprises, Inc. | Customized haptic effects |
| US10049538B2 (en) * | 2016-08-31 | 2018-08-14 | Apple Inc. | Electronic device including haptic actuator driven based upon audio noise and motion and related methods |
-
2017
- 2017-08-31 US US15/693,024 patent/US10573136B2/en active Active
-
2018
- 2018-06-21 WO PCT/US2018/038710 patent/WO2019045846A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090002939A1 (en) * | 2007-06-29 | 2009-01-01 | Eric Baugh | Systems and methods for fan speed optimization |
| US20140169581A1 (en) * | 2011-07-26 | 2014-06-19 | Sony Corporation | Audio signal processing device, imaging device, audio signal processing method, program, and recording medium |
| US20130076286A1 (en) * | 2011-09-23 | 2013-03-28 | Apple Inc. | Reducing tonal excitations in a computer system |
Also Published As
| Publication number | Publication date |
|---|---|
| US10573136B2 (en) | 2020-02-25 |
| US20190066458A1 (en) | 2019-02-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113192527B (en) | Methods, devices, electronic equipment and storage media for echo cancellation | |
| US9024738B2 (en) | Apparatus, systems and methods for mitigating vibration of an electronic device | |
| CN104768049B (en) | Method, system and computer readable storage medium for synchronizing audio data and video data | |
| US9357300B2 (en) | Systems and methods for protecting a speaker | |
| CN108763901B (en) | Ear print information acquisition method and device, terminal, earphone and readable storage medium | |
| JP2015513832A (en) | Audio playback system and method | |
| CN103631375B (en) | Method and device for sensing and controlling vibration intensity according to situation in electronic equipment | |
| US10346132B2 (en) | Acceleration-based window glass break detection | |
| US9591405B2 (en) | Automatic audio enhancement system | |
| WO2016184138A1 (en) | Method, mobile terminal and computer storage medium for adjusting audio parameters | |
| US10573136B2 (en) | Calibrating a vibrational output device | |
| CN109979469A (en) | Signal processing method, equipment and storage medium | |
| JP7791984B2 (en) | Modulation-domain attention-based voice activity detection for reverberation and noise | |
| US10222862B2 (en) | Method to sense force exertion on handheld device for behavior setting and input for quick response | |
| JP2021536596A (en) | Methods and devices for fingerprinting acoustic signals via normalization | |
| EP3899701B1 (en) | High-precision temporal measurement of vibro-acoustic events in synchronisation with a sound signal on a touch-screen device | |
| CN104707331B (en) | A kind of game body-sensing production method and device | |
| CN114631071A (en) | Method and system for detecting existence of protective shell on electronic equipment | |
| CN112013947A (en) | Motor abnormal sound detection method, device and system | |
| US12375844B2 (en) | Earbud for authenticated sessions in computing devices | |
| GB2526980A (en) | Sensor input recognition | |
| CN111627416A (en) | Audio noise removal method, apparatus, device and storage medium | |
| US10796709B1 (en) | Acoustic echo cancellation bypass | |
| GB2553040A (en) | Sensor input recognition | |
| US20210012787A1 (en) | Detection and restoration of distorted signals of blocked microphones |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18746331 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18746331 Country of ref document: EP Kind code of ref document: A1 |