`(12) Patent Application Publication (10) Pub. No.: US 2011/0087454 A1
`Lee et al.
`(43) Pub. Date:
`Apr. 14, 2011
`
`US 2011 0087454A1
`
`(54) TAP DETECTION
`
`(75) Inventors:
`
`James M. Lee, Northborough, MA
`(US); Jon Austen Williams,
`Cambridge, MA (US)
`
`(73) Assignee:
`
`Analog Devices, Inc., Norwood,
`MA (US)
`
`(21) Appl. No.:
`ppl. No.:
`
`12/S71748
`9
`
`(22) Filed:
`
`Oct. 1, 2009
`
`(60)
`
`Related U.S. Application Data
`Provisional application No. 61/107.212, filed on Oct.
`21, 2008.
`
`Publication Classification
`
`(51) Int. Cl.
`2011.O1
`G06F 9/00
`388
`H04M I/00
`(2006.01)
`H04M, 3/00
`(52) U.S. Cl. ....................... 702/124; 455/550.1; 455/418
`(57)
`ABSTRACT
`Methodology and circuitry for determining if a device. Such
`as a cellular phone or personal digital assistant has been
`tapped is disclosed. The device includes an accelerometerand
`in response to an acceleration, the accelerometer outputs an
`acceleration signal. The accelerometer may continuously
`output an acceleration signal even if no acceleration occurs. A
`tap detection device receives the temporally sampled accel
`eration signal and takes the first derivative of the temporally
`sampled acceleration signal producing one or more derivative
`values. The tap detection system compares each derivative
`value to a threshold value and if the derivative value exceeds
`the threshold a tap is detected. By taking the derivative of the
`acceleration signal, the noise floor for the acceleration signal
`is reduced leading to more accurate results with less false
`positives and less positive negatives.
`
`
`
`4000
`
`3000
`2OOO Y
`1000
`
`-OOO
`
`-2000
`
`-3OOO
`O
`
`false positive
`
`1000
`
`2000 3000 4000
`
`5000 6OOO 7000 8000 9000 1 OOOO
`
`Time ms
`
`APPLE 1047
`
`1
`
`
`
`Patent Application Publication
`
`Apr. 14, 2011 Sheet 1 of 5
`
`US 2011/0087454 A1
`
`
`
`0000||
`0006
`0008
`000/
`0009
`
`0009
`000Z
`
`000 ||
`
`0
`
`
`
`[Suu] ?uu||
`
`I "OICH
`
`Seeu)
`uOle JeleocoW
`
`2
`
`
`
`Patent Application Publication
`
`Apr. 14,2011 Sheet 2 of 5
`
`US 2011/0087454 Al
`
`CELL PHONE
`200
`
`
`
`HOUSING
`220
`
`Y
`
`Y
`LR
`
`Oo
`
`CIRCUIT BOARD ~~~
`230
`
`ACCELEROMETER
`210
`
`ACCELEROMETER
`310
`
`MEMORY
`330A
`
`/
`
`300
`
`COMPUTATIONAL
`
`MODULE
`390
`
`MEMORY
`330B
`
`3
`
`
`
`Patent Application Publication
`
`US 2011/0087454 A1
`
`de 1
`
`
`
`† 9IGI
`
`
`
`
`
`
`
`
`
`4
`
`
`
`Patent Application Publication
`
`Apr. 14, 2011 Sheet 4 of 5
`
`US 2011/0087454 A1
`
`- Threshold?
`
`510
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Start Timer 530
`
`Below
`Threshold?
`540
`
`FIG. 5
`
`between taps
`less than the double
`tap time limit?
`
`DoubleTap 56
`
`
`
`
`
`5
`
`
`
`Patent Application Publication
`
`Apr. 14, 2011 Sheet 5 of 5
`
`US 2011/0087454 A1
`
`
`
`s
`
`s
`
`O
`
`s
`
`Su/Seellu
`Xue?
`
`6
`
`
`
`US 2011/0087454 A1
`
`Apr. 14, 2011
`
`TAP DETECTION
`
`PRIORITY
`0001. The present U.S. patent application claims priority
`from U.S. provisional patent application No. 61/107,212 filed
`on Oct. 21, 2008 entitled “Tap Detection', which is incorpo
`rated herein by reference in its entirety.
`
`TECHNICAL FIELD
`0002 The present invention relates to determining when
`an object, Such as a cell phone, has been tapped thereby
`experiencing a sudden acceleration.
`
`BACKGROUND ART
`0003. It is known in the prior art to measure the accelera
`tion of an object using an accelerometer. When a user taps an
`object, the object undergoes a rapid acceleration. A tap is
`simply a synonym for a light strike, pat or rap that causes an
`object to undergo acceleration. This acceleration can be mea
`sured and compared to a threshold in order to identify when a
`tap has occurred. The accelerometer threshold is set both in a
`positive and a negative direction and there may be separate
`thresholds for each of the cardinal directions. If the accelera
`tion is greater than the threshold a tap is identified. As shown
`in the exemplary graph of FIG. 1, five taps are recognized
`using this acceleration and threshold technique. One tap can
`be identified by a strong negative acceleration 110, one with
`a strong positive acceleration 120 and three that just reach the
`threshold 130, 140, 160. Other points in the acceleration vs.
`time plot that are circled 150, 170, and 180 show changes in
`the acceleration that are actually taps, however the values do
`not reach the threshold and therefore are not registered as
`taps. Additionally, the prior art methodology even registers a
`tap 160 when no tap occurs.
`0004 Although the threshold can be adjusted so as to
`better identify when taps occur, moving the threshold will
`also lead to an increase in false-positive tap identifications. If
`this methodology is employed in a cellular phone or other
`personal electronic device, such false-positives will cause the
`device to activate a function even when the operator does not
`wish to have the device activated. For example if a cellular
`phone is in the pocket of a user and the user moves, the
`cellular phone may accelerate or come into contact with an
`object in the user's pocket unintentionally activating the tap
`feature. Noise both internal and external can cause the accel
`erometer to register a value that is above the threshold thereby
`recording a false-positive.
`0005. If the threshold is set too high in order to avoid
`false-positives, user's will become frustrated with the tap
`activation feature, since the user's taps will not be recognized
`and the device will not perform the function that the user
`desires. As a result of this frustration, the user will disable the
`tap feature.
`
`SUMMARY OF THE INVENTION
`0006. In a first embodiment of the invention there is pro
`vided a methodology for determining if a device, such as a
`cellular phone or personal digital assistant has been tapped.
`The device includes an accelerometer and in response to
`acceleration, the accelerometer outputs an acceleration sig
`nal. The accelerometer may continuously output an accelera
`tion signal even if no acceleration occurs. A tap detection
`device receives the temporally sampled acceleration signal
`
`and takes the first derivative of the temporally sampled accel
`eration signal producing one or more derivative values. The
`tap detection system compares each derivative value to a
`threshold value and if the derivative value exceeds the thresh
`old a tap is detected. By taking the derivative of the accelera
`tion signal, noise is reduced from the signal and this leads to
`more accurate results with less false positives and less posi
`tive negatives.
`0007. The methodology may be extended to determining
`if a double tap has occurred. When a tap is detected, a flag
`representative of the tap is saved to memory and a timer is
`started. When a second tap is detected, a computation module
`compares the time measured by the timer to a double tap time
`limit. If the measured time is less than the double tap time
`limit a double tap is recognized. If the measured time exceeds
`the double tap time limit, the timer is started with respect to
`the presently detected tap and the process continues.
`0008. In certain embodiments, when either a tap or a
`double tap are detected for a cell phone, the detected tap or
`double tap causes the cell phone's ringer to mute.
`0009. The tap detection system in one embodiment may be
`implemented with an accelerometer and a computation mod
`ule. It should be recognized that an accelerometer as used
`herein is a transducer for changing mechanical motion into an
`electrical signal that is proportional to the value of accelera
`tion. The computation module may be a processor, finite State
`machine, dedicated logic or other circuitry. The computation
`module may reside internal or external to the accelerometer
`packaging. The accelerometer outputs a temporally sampled
`acceleration signal. The computation module receives the
`temporally sampled acceleration signal and takes the deriva
`tive of the signal. The derivate is compared to a threshold and
`if the threshold is exceeded a tap is detected. A tap may last for
`more than a single sampled value and therefore when a string
`of derivative values exceeds the threshold, only a single tap
`will be detected. When a tap is detected, a signal representa
`tive of the tap will be output from the tap detection system and
`the tap can be used by a process or application. Once the
`derivative values fall below the threshold, a timer can be
`started to measure the time between taps. If the time between
`taps is less than the double tap time limit, a double tap has
`occurred and the tap detection system will output this infor
`mation for use by a process or application.
`0010. In another embodiment of the tap detection system,
`an accelerometer is electrically connected to a register, a
`Subtraction circuit, and a tap computation module. In certain
`embodiments, the accelerometer packaging includes the
`accelerometer, register, Subtraction circuit and a tap compu
`tation module. The accelerometer outputs a temporally
`sampled acceleration signal. In any of the disclosed embodi
`ments, the accelerometer may produce a digitally sampled
`output signal or a continuous analog signal. If the accelerom
`eter produces an analog signal an analog-to-digital converter
`will be included within the signal path for converting the
`analog signal into a series of sampled digital values. The
`sampled digital acceleration value for a given time (N-1) is
`stored in a register. At time N, the acceleration value for time
`N is provided to a subtraction circuit and the acceleration
`value for time N-1 is read out of the register and provided to
`the subtraction circuit. The subtraction circuit subtracts the
`two values and producing a derivative value. The value of
`N-1 that is stored in the register is also replaced by the
`acceleration value of N. The derivative value is forwarded to
`a tap computation module that compares the derivative value
`
`7
`
`
`
`US 2011/0087454 Al
`
`Apr. 14, 2011
`
`to one or more threshold values. If the derivative value is
`below the threshold notap is detected. If the derivative value
`is above the threshold a tap is detected. A signal representa-
`tive of the detected tap can then be forwarded to another
`process or application and used as input to that process or
`application.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`implemented in hardware, for example as an ASIC chip orin
`an FPGA or a combination of hardware and software code.
`
`The computation module running the software receives as
`input the data from the accelerometer andtakes the derivative
`of the signal. For example, the accelerometer may produce
`digital output values for a given axis that are sampled at a
`predeterminedrate. The derivative of the acceleration values
`or “jerk” can be determined by subtracting the N and N-1
`sampled values. The acceleration values may be stored in
`memory 330A, 330B either internal to or external to the
`computation module 320 during the calculation of the deriva-
`tive of acceleration. Other methods/algorithms knownto one
`of ordinary skill in the art may also be used for determining
`the derivative of the acceleration. The jerk value can then be
`comparedto a threshold. The threshold can be fixed or user-
`adjustable. Ifthe jerk value exceeds the threshold then a tap is
`detected. In some embodiments, two threshold values may be
`present: a first threshold value for taps about the measured
`axis in a positive direction and a second threshold for taps
`aboutthe axis in a negative direction. It should be recognized
`by one of ordinary skill in the art that the absolute value ofthe
`accelerometer output values could be taken and a single
`threshold could be employedfor accelerations in both a posi-
`tive and negative direction along an axis. When a tap has been
`detected, the computation unit can then forward a signal or
`data indicative of a tap as an input for another application/
`process. The application/process may use the detection of a
`tap as an inputsignal to perform an operation. For example, a
`tap may indicate that a device should be activated or deacti-
`vated (on/off). Thus, the tap detection input causes a program
`operating on the device to take a specific action. Other uses
`for tap detection include causing a cellular telephone to stop
`audible ringing whena tap is detected or causing a recording
`is depicted is a cellular telephone. The accelerometer 210 is
`device to begin recording. These examples should not be
`held in position internal to the cellular phone housing 220.
`viewed as limiting the scope of the invention and are exem-
`The accelerometer 210 is generally mounted on a circuit
`plary only.
`board 230 within the cellular telephone housing. The accel-
`[0020]
`FIG. 4 shows a second embodimentofthe tap detec-
`erometer 210 may be a single axis accelerometer (x axis), a
`tion system that uses a buffer for storing a temporal accelera-
`dual axis accelerometer (x, y axes) oratri-axis accelerometer
`tion value along with a subtraction circuit. This embodiment
`(x, y, axes). The electronic device may have multiple accel-
`can be usedtoretrofit an electronic device that already has a
`erometers that each measure 1, 2 or 3 axes of acceleration.
`tap detection algorithm without needing to alter the algo-
`The accelerometer 210 continuously measures acceleration
`rithm. For purposesofthis discussion,it will be assumed that
`producing a temporal acceleration signal. The temporal
`the high bandwidth acceleration data is for a single axis. It
`acceleration signal may contain more than oneseparate sig-
`should be understood by one of ordinary skill in the art that
`nal. For example,
`the temporal acceleration signal may
`the acceleration data may include data from a multi-axis
`include 3 separate acceleration signals, i.e. one for each axis.
`accelerometer without deviating form the scope ofthe inven-
`In certain embodiments, the accelerometer includescircuitry
`tion.
`to determine if a tap has occurred by taking the derivative of
`the acceleration signal. In some embodiments, the acceler-
`ometer includes a computation module for comparing the
`derivative values to a threshold to determine if a tap has
`occurred. In other embodiments, the accelerometer outputs a
`temporal acceleration signal and the computation module
`takes thefirst derivative of the acceleration signal produce a
`plurality of derivative values. The computation module can
`then compare the first derivative values to a predetermined
`threshold value that is stored in a memory ofthe computation
`module to determine if a tap has occurred.
`[0019] FIG.3 showsa first embodimentofthe tap detection
`system 300 that includes a computation module 320 and the
`accelerometer 310. The accelerometer output signal
`is
`received by a computation module 320 that is electrically
`coupledto the accelerometer 310 and that is running (execut-
`ing/interpreting) software code. It should be understood by
`oneof ordinary skill in the art that the software code could be
`
`[0011] The foregoing features ofthe invention will be more
`readily understood by reference to the following detailed
`description, taken with reference to the accompanying draw-
`ings, in which:
`[0012]
`FIG. 1 showsan acceleration graph with thresholds
`with indications of when taps have occurred as taught by the
`priorart;
`FIG. 2 is an imageofan electronic device that con-
`[0013]
`tains an internal accelerometer;
`[0014]
`FIG.3 is a first embodimentof a tap detection sys-
`tem;
`FIG. 4 is a second embodimentof a tap detection
`[0015]
`system that includes a subtraction circuit;
`[0016] FIG.5isa flow chart that shows a methodfor detect-
`ing when a double tap has occurred; and
`[0017]
`FIG.6 is a graph that showsthe derivative of accel-
`eration with respect to time and includesthresholdsfor deter-
`mining whena tap has occurred.
`
`DETAILED DESCRIPTION OF SPECIFIC
`EMBODIMENTS
`
`FIG. 2 is an imageof an electronic device that con-
`[0018]
`tains an internal accelerometer. The electronic device 200 that
`
`[0021] The circuit shows high bandwidth data 400 from an
`accelerometer unit being used as input to the tap detection
`system 405. The high-bandwidth data 400 is fed to a multi-
`plexor 450 andalso to a low passfilter 410. The high band-
`width data 400 from the accelerometeris low passfiltered in
`order to reduce the data rate, so that the data rate will be
`compatible with the other circuit elements ofthe tap detection
`system 405. Therefore, the low passfilter is an optional circuit
`element if the data rate of the accelerometer is compatible
`with the other circuit elements. Once the acceleration data is
`filtered, the sampled data (N—-1) is stored ina register 420. The
`next sampled data value (N) is passed to the subtraction
`circuit 430 along with the sampled value that is stored in the
`register (N-1) 420. As the N-1 data is movedto the subtrac-
`tion circuit 430, the N data value replaces the N—-1 value in the
`register 420. Not shown in the figure is a clock circuit that
`provides timing signals to the low pass filter 410, the register
`
`8
`
`
`
`US 2011/0087454 A1
`
`Apr. 14, 2011
`
`420, and the subtraction circuit 430. The clock circuit deter
`mines the rate at which data is sampled and passed through
`the circuit elements. If the accelerometer samples at a differ
`ent rate than the clock rate, the low pass filter can be used to
`make the accelerometer's output data compatible with the
`clock rate. The subtraction circuit 430 subtracts the N-1 value
`from the N value and outputs the resultant value. The resultant
`value is passed to the tap detection circuit 440 when the jerk
`select command to the multiplexor is active. The acceleration
`data may also be passed directly to the tap detection circuit
`when there is no jerk select command. In certain embodi
`ments of the invention, the accelerometer unit along with the
`register, Subtraction circuit, and multiplexor are contained
`within the accelerometer package.
`0022. The tap detection circuit 440 may be a computation
`module with associated memory that stores the threshold jerk
`values within the memory. The tap detection circuit may be
`either internal to the accelerometer packaging or external to
`the accelerometer packaging. For example, in a cell phone
`that includes one or more processors, a processor can imple
`ment the functions of a computation module. The computa
`tion module 440 compares the resultant jerk value to the one
`or more threshold jerk values. In one embodiment, there is a
`positive and a negative threshold jerk value. If the resultant
`value exceeds the threshold for a tap in a positive direction or
`is below the threshold for a tap in a negative direction, the tap
`detection circuit indicates that a tap has occurred. The tap
`identification can be used as a signal to cause an action to be
`taken in a process or application. For example, if the elec
`tronic device is a cellphone and a tap is detected, the tap may
`cause the cell phone to mute its ringer.
`0023. In other embodiments, the computation module
`determines if a tap occurs and then can store this information
`along with timing information. When a second tap occurs, the
`computation module can compare the time between taps to
`determine if a double tap has occurred. Thus, a temporal
`threshold between taps would be indicative of a double tap.
`This determination could be similar to the double tap algo
`rithms that are used for computer input devices. For example,
`a double click of a computer mouse is often required to cause
`execution of a certain routine within a computer program.
`Thus, the double tap could be used in a similar fashion.
`0024 FIG.5 shows a flow chart for determining ifa double
`tap has occurred. The system is initially at idle and the accel
`eration derivative values (jerk values) are below the threshold
`value 500. Each jerk value is compared to a threshold value
`510. When the threshold value is exceeded, a first click or tap
`is identified. The system waits either a predetermined length
`or time or determines when the jerk value goes below the
`threshold to signify that the first tap has ended 520. A timer
`then starts and measures the time from the end of the first tap
`and the system waits for a second tap 530. The system checks
`each jerk value to see if the jerk value has exceeded the
`threshold 540. If the jerk value does not exceed the threshold
`the system waits. When the threshold is exceeded, the system
`determines the time between taps and compares the time
`between taps to a double tap limit540. If the time between
`taps is less than the double tap time limit, a double tap is
`recognized 550. If a double tap is not recognized, the present
`tap becomes the first tap and the system waits for the end of
`the first tap. When a second tap occurs, an identifier of the
`second tap i.e. a data signal, flag or memory location is
`changed and this information may be provided as input to a
`
`process or program. Additionally, when a double tap has been
`sensed, the methodology loops back to the beginning and
`waits for a new tap.
`0025 FIG. 6 shows a graph of the derivative of accelera
`tion data (jerk’) with respect to time for the same series of
`accelerations as shown in FIG. 1. FIG. 6 provides a more
`accurate indication of taps. FIG. 1 shows both false positive
`tap readings 160 along with true negative readings 150, 170,
`180. Thus, the acceleration measurement will not register
`Some taps and will also cause taps to be registered when no tap
`was present. False positive readings occur, for example, when
`a user has a cellphone in his pocket and keys or other objects
`strike the cellphone due to movement of the user. These false
`readings are caused mainly because of the noise floor. By
`taking the derivative of the acceleration signal, the noise floor
`is lowered and the tap signals become more pronounced as
`shown in the comparison between 110 and 610, 120 and 620,
`180 and 680, 150 and 650, and 170 and 670. Thus, false
`positive identifications of taps are reduced with a lower noise
`floor. By requiring double taps the number of false positives is
`reduced even further.
`0026. It should be recognized by one of ordinary skill in
`the art that the present invention as embodied should not be
`viewed as being limited solely to portable devices. The inven
`tion is equally as applicable to stationary devices. For
`example, a personal computer, computer monitor, track pad
`on a computer may benefit from the invention.
`0027 Various embodiments of the invention may be
`implemented at least in part in any conventional computer
`programming language. For example, some embodiments
`may be implemented in a procedural programming language
`(e.g., “C”), or in an object oriented programming language
`(e.g., “C++). Other embodiments of the invention may be
`implemented as preprogrammed hardware elements (e.g.,
`application specific integrated circuits, FPGAs, and digital
`signal processors), or other related components.
`0028. In an alternative embodiment, the disclosed appara
`tus and methods (e.g., see the description above) may be
`implemented as a computer program product for use with a
`Computer system. Such implementation may include a series
`of computer instructions fixed either on a tangible medium,
`Such as a computer readable medium (e.g., a diskette, CD
`ROM, ROM, or fixed disk) or transmittable to a computer
`system, via a modem or other interface device. Such as a
`communications adapter connected to a network over a
`medium. The medium may be a tangible medium (e.g., opti
`cal or analog communications lines). The series of computer
`instructions can embody all or part of the functionality pre
`viously described herein with respect to the system.
`0029. Those skilled in the art should appreciate that such
`computer instructions can be written in a number of program
`ming languages for use with many computer architectures or
`operating systems. Furthermore, such instructions may be
`stored in any memory device, such as semiconductor, mag
`netic, optical or other memory devices, and may be transmit
`ted using any communications technology, such as optical,
`infrared, microwave, or other transmission technologies.
`0030. Among other ways, such a computer program prod
`uct may be distributed as a removable medium with accom
`panying printed or electronic documentation (e.g., shrink
`wrapped software), preloaded with a computer system (e.g.,
`on system ROM or fixed disk), or distributed from a server or
`electronic bulletin board over the network (e.g., the Internet
`or World Wide Web). Of course, some embodiments of the
`
`9
`
`
`
`US 2011/0087454 A1
`
`Apr. 14, 2011
`
`invention may be implemented as a combination of both
`Software (e.g., a computer program product) and hardware.
`Still other embodiments of the invention are implemented as
`entirely hardware, or entirely software.
`0031. The embodiments of the invention described above
`are intended to be merely exemplary; numerous variations
`and modifications will be apparent to those skilled in the art.
`All such variations and modifications are intended to be
`within the scope of the present invention as defined in any
`appended claims.
`
`What is claimed is:
`1. A computer implemented method for determining taps
`on a Surface of a device having an accelerometer, the method
`comprising:
`in a computer process:
`receiving as input a temporally sampled acceleration
`signal;
`taking a first derivative of the temporally sampled accel
`eration signal producing derivative values; and
`comparing at least one derivative value to at least one
`threshold to determine if a tap has occurred based
`upon the derivative value exceeding the threshold.
`2. The computer implemented method according to claim
`1, wherein the device is a cellular phone.
`3. The computer implemented method according to claim
`1, wherein the device is a personal digital assistant.
`4. The computer implemented method according to claim
`1, wherein comparing the derivative values further com
`prises:
`determining when two taps have occurred within a prede
`termined period and outputting a signal to a processor
`when two taps have occurred within the predetermined
`period.
`5. The computer implemented method according to claim
`1, wherein the device is a phone and an identification of a tap
`causes the phone to mute.
`6. The computer implemented method according to claim
`1, further comprising:
`after a tap has been detected, determining when a Subse
`quent derivative value falls below the threshold value
`indicating that the tap has ended.
`7. The computer implemented method according to claim
`1, wherein the absolute value of the at least one derivative
`value is used when comparing the at least one derivative value
`to the threshold.
`8. A system for determining if a device has been tapped, the
`system comprising:
`an accelerometer circuit for outputting a temporal accel
`eration signal;
`a register for storing the temporal acceleration signal at
`time N-1;
`a Subtraction circuit receiving from the register the tempo
`ral acceleration signal at time N-1 and Subtracting the
`temporal acceleration signal at time N-1 from the tem
`poral acceleration signal at time N producing a deriva
`tive signal;
`a computation module receiving the derivative signal and
`comparing the derivative signal to at least one threshold
`to determine if the device has been tapped.
`9. The system according to claim 8 wherein the accelerom
`eter outputs a digital acceleration signal sampled at a sample
`rate.
`
`10. The system according to claim 8 wherein the acceler
`ometer circuit outputs an analog acceleration signal and the
`system further comprises:
`a sampling circuit for sampling the analog acceleration
`signal at a sample rate producing a sampled acceleration
`signal.
`11. The system according to claim 8, wherein when a
`derivative signal is indicative of a tap, the computation mod
`ule stores an indicator of the tap in associated memory.
`12. A system for determining if a device has been tapped,
`the system comprising:
`an accelerometer circuit for outputting a temporal accel
`eration signal; and
`a computation module receiving the temporal acceleration
`signal, taking the derivative of the temporal acceleration
`signal producing a derivative signal and comparing the
`derivative signal to at least one threshold to determine if
`the device has been tapped.
`13. The system according to claim 12 wherein the acceler
`ometer outputs a digital acceleration signal sampled at a
`sample rate.
`14. The system according to claim 12 wherein the acceler
`ometer outputs an analog acceleration signal and the system
`further comprises:
`a sampling circuit for sampling the analog acceleration
`signal at a sample rate producing a sampled acceleration
`signal.
`15. The system according to claim 12, wherein when a
`derivative signal is indicative of a tap, the computation mod
`ule stores an indicator of a tap in associated memory.
`16. The system according to claim 15, wherein the com
`putation module determines a temporal period between taps
`and compares the temporal period to a threshold to determine
`if a double tap has occurred.
`17. The system according to claim 12, wherein the accel
`erometer and the computation unit are housed within the
`same packaging.
`18. The system according to claim 6 wherein at least the
`accelerometer, register, and Subtraction circuit are housed
`within the same packaging.
`19. A computer program product including a tangible com
`puter readable medium having computer executable code
`thereon for determining if a tap has occurred on a surface of
`a device that includes an accelerometer the computer code
`comprising:
`computer code for receiving as input from the accelerom
`eter a temporally sampled acceleration signal;
`computer code for taking a first derivative of the temporally
`sampled acceleration signal producing derivative val
`ues; and
`computer code for comparing at least one derivative value
`to at least one threshold to determine if a tap has
`occurred based upon the derivative value exceeding the
`threshold.
`20. A computer program product according to claim 19,
`wherein the computer code for comparing includes computer
`code for comparing each derivative value to the threshold to
`determine both if the device has been tapped and the total
`number of derivative values that exceed the threshold.
`21. The computer program product according to claim 19,
`wherein the device is a cellular phone.
`22. The computer program product according to claim 19,
`wherein the device is a personal digital assistant.
`
`10
`
`
`
`US 2011/0087454 A1
`
`Apr. 14, 2011
`
`23. The computer program product according to claim 19,
`wherein the computer code for comparing the derivative val
`ues further comprises:
`computer code for determining when two taps have
`occurred within a predetermined period and outputting a
`signal to a processor when two taps have occurred within
`the predetermined period.
`24. The computer program product according to claim 19,
`wherein the device is a phone and an identification of a tap
`causes the phone to mute.
`25. The computer program product according to claim 19,
`further comprising:
`
`computer code that operates after a tap has been detected
`for determining when a subsequent derivative value falls
`below the threshold value indicating that the tap has
`ended.
`26. The computer program product according to claim 19,
`wherein the absolute value of the at least one derivative value
`is used when comparing the at least one derivative value to the
`threshold.
`27. A computer implemented method according to claim 1,
`wherein comparing includes comparing each derivative value
`to the threshold to determine both if the device has been
`tapped and the total number of derivative values that exceed
`the threshold.
`
`11
`
`