Patent Description:
New features for computing devices continue to be developed that facilitate operation or expand capabilities of the device with the utilization of sensors or high-performance circuitry. While users may find it advantageous to use these devices, there are many challenges associated with the development of computing-device technology. These challenges may include designing components to fit within size constraints of the computing device, operating components within available power limits of the device, and improving user experience. <CIT> proposes a method for proximity sensing by a computerized device. The method may include transmitting, by at least one transmitter of a computerized device and during at least one transmission window, one or more transmitted signals, the one or more transmitted signals comprising a transmitted ultrasonic signal; operating at least one receiver of the computerized device to receive, during at least one reception window, one or more received signals that were reflected or scattered due to the transmitting; processing the received signals to provide a processing result, when receiving the received signals by the receiver during the at least one reception window; and determining a proximity of one or more objects to the computerized device based on at least one out of (a) an absence of received signals during the at least one receive window, and (b) the processing results. <CIT> proposes a method for determining proximity of an external object to an electronic device. The method comprises transmitting from an ultrasonic transmitter an ultrasonic probe signal and receiving at an ultrasonic receiver an ultrasonic response signal. The ultrasonic response signal is compared to a library of stored reference signals, wherein said stored reference signals comprise ultrasonic response signals corresponding to absence or presence of any external object proximate to the device. It is determined that the external object is proximate to the device if a difference between the ultrasonic response signal and each (or at least one) of the library of stored reference signals exceeds or is below a threshold. Embodiments include a method for calibrating an electronic device having a proximity detector, comprising determining that the device is in a predetermined state; transmitting and receiving ultrasonic signals and storing the response signal in a library of stored reference signals. Further embodiments include: a method for calibrating an electronic device including determining at least a partial transfer function between the ultrasonic transmitter and receiver using the probe and response signals; detect a predetermined touch event before triggering transmission of an ultrasonic probe signal.

Techniques and apparatuses are described that detect user presence using an ultrasonic sensor. The ultrasonic sensor can detect user presence without relying on time-of-flight techniques. In particular, the ultrasonic sensor can determine that a user is present based on the occlusion of at least one receiving transducer (e.g., microphone occlusion), the occlusion of at least one transmitting transducer (e.g., speaker occlusion), or a detected change in an audible noise floor of at least one transducer. In this way, the ultrasonic sensor can continue to detect user presence in situations in which a user occludes one or more transducers of the ultrasonic sensor. The ultrasonic sensor can also control operation of another component within a computing device based on the presence of the user to improve the user experience and/or improve power management.

According to the present invention, there is provided a method as set out in claim <NUM>.

Also disclosed herein is a method performed by an ultrasonic sensor for detecting user presence. The method includes transmitting a first ultrasonic transmit signal using a first transducer of the ultrasonic sensor. The method also includes transmitting a second ultrasonic transmit signal using a second transducer of the ultrasonic sensor. The first ultrasonic transmit signal and the second ultrasonic transmit signal have different waveforms. The method additionally includes receiving an ultrasonic receive signal. The ultrasonic receive signal comprises a version of the first ultrasonic transmit signal. The method further includes detecting that the second transducer is occluded. Responsive to the detecting that the second transducer is occluded, the method also includes determining that an object is present.

Also described herein is a method performed by an ultrasonic sensor for detecting user presence. The method includes receiving an audible receive signal. The method also includes detecting a change in a noise floor associated with the audible receive signal. Responsive to the detecting the change in the noise floor, the method additionally includes determining that an object is present.

Aspects described below also include an apparatus comprising an ultrasonic sensor configured to perform any of the described methods.

Aspects described below also include a system with means for detecting user presence.

Apparatuses for and techniques for detecting user presence are described with reference to the following drawings. The same numbers are used throughout the drawings to reference like features and components:.

New features for computing devices continue to be developed that facilitate operation or expand capabilities of the device with the utilization of sensors or high-performance circuitry. While users may find it advantageous to use these devices, there are many challenges associated with the development of computing-device technology. These challenges may include designing components to fit within size constraints of the computing device, operating components within available power limits of the device, and improving user experience.

One such challenge includes providing a desirable user experience on a computing device. A user may desire access to a user interface of the device without distractions. However, some sensors of the device may distract the user when in an active operational state. For example, when an optical sensor is in an active state (e.g., of operation), it may emit light to detect the proximity of nearby objects. The emitted light can be observed by the user in environments of both high and low ambient light when the optical sensor is in the active state. In some cases, the user may become distracted or annoyed by the light and forget their train of thought, resulting in an undesirable user experience. Optical sensors may also include photoconductive devices, photovoltaics, photodiodes, and phototransistors and have a variety of applications including generating, producing, distributing, or converting electrical power, and so forth.

Another challenge may be associated with size constraints or power limitations of the computing device. In the case of a smartphone, the user may desire a compact device that can easily fit in their pocket or handbag. These size constraints can limit the capabilities of the device. For example, a compact design may reduce the quantity or type of components available to enhance the user experience. The operation of these components can also have power limitations based on a battery capacity of the device. A compact smartphone design may require a smaller battery, which may limit the length of user activity on the device and/or operation of these components.

To address these challenges, this document describes techniques and devices for determining user presence using an ultrasonic sensor of a computing device. In some implementations, the ultrasonic sensor utilizes preexisting microphones and/or speakers on the device. This enables the ultrasonic sensor to be implemented on space-constrained devices. The ultrasonic sensor can further determine the distance between the user and the device in addition to the distance between the user and a component of the device (e.g., an optical sensor). The ultrasonic sensor can control operation of this component based on the presence of the user to improve the user experience and/or improve power management.

In one example, the ultrasonic sensor changes an operational state (e.g., on or off) of the component to improve the user experience. For example, the ultrasonic sensor can turn an optical sensor off (e.g., cause the optical sensor to be in an inactive state) to prevent light from being emitted while the user is nearby. This may prevent the user from becoming distracted by the light and facilitate a more enjoyable user experience. However, once the ultrasonic sensor detects that the user is within a threshold distance for operating the optical sensor, the ultrasonic sensor can trigger the optical sensor to transition to an active state in which it emits light. In this way, the ultrasonic sensor can reduce the amount of time that the optical sensor is active, thereby improving the user experience.

The ultrasonic sensor may also conserve power within the computing device to enhance the user experience. When detecting the presence of the user, the ultrasonic sensor may change the operational state of a component to manage power consumption of the device. For example, if the ultrasonic sensor determines that the user is not near the device, it can turn the component off to conserve power (e.g., turn a display screen off). If the ultrasonic sensor determines that the user is near the device, it can turn the component on to allow for start-up times. For example, when it is determined that the user is near the device, the component may be turned on in advance so that it is ready for use by the user. Therefore, the computing device does not have to rely on timers or manual input from the user to activate the component and may instead improve the user experience by reducing start-up delays.

Some ultrasonic sensors can detect user presence by relying on time-of-flight techniques. To utilize these techniques, these ultrasonic sensors measure the elapsed time between transmitted and received ultrasonic signals. In some situations, however, the ultrasonic sensor may be blocked from transmitting and/or receiving these ultrasonic signals. Consider an example in which the ultrasonic sensor is integrated within a handheld computing device. In this example, a user's hand obstructs a transducer of the ultrasonic sensor from transmitting or receiving the ultrasonic signals. As such, these ultrasonic sensors are prevented from detecting the user using time-of-flight techniques.

In contrast, the described ultrasonic sensor can detect user presence without relying on time-of-flight techniques. In particular, the ultrasonic sensor can determine that a user is present based on the occlusion of at least one receiving transducer (e.g., microphone occlusion), the occlusion of at least one transmitting transducer (e.g., speaker occlusion), or a detected change in an audible noise floor of at least one transducer. In this way, the ultrasonic sensor can continue to detect user presence in situations in which a user occludes one or more transducers of the ultrasonic sensor. In some implementations, a transducer of the ultrasonic sensor is positioned proximate to a component that is controlled by the ultrasonic sensor. In this way, the ultrasonic sensor can continue to control the operational state of the component responsive to detecting that this transducer is occluded or experiences a change in the audible noise floor.

In some implementations, the ultrasonic sensor can utilize both time-of-flight techniques and non-time-of-flight techniques for detecting user presence. For example, the ultrasonic sensor can utilize time-of-flight techniques in situations in which the user does not occlude a transducer and utilize non-time-of-flight techniques (particularly the techniques disclosed herein) in situations in which the user occludes one or more transducers.

<FIG> is an illustration of example environments <NUM>-<NUM> to <NUM>-<NUM> in which techniques using, and an apparatus including, an ultrasonic sensor <NUM> may be embodied. In the depicted environments <NUM>-<NUM> to <NUM>-<NUM>, the ultrasonic sensor <NUM> of a computing device <NUM> is capable of detecting one or more objects (e.g., users). The computing device <NUM> is shown to be a smartphone in environments <NUM>-<NUM> to <NUM>-<NUM>. In general, the computing device <NUM> may, for example, be a computing device comprising a computer processor and computer-readable media.

In the environments <NUM>-<NUM> and <NUM>-<NUM>, a user is located far from the computing device <NUM> and the ultrasonic sensor <NUM> does not detect the presence of the user. In environment <NUM>-<NUM>, the computing device <NUM> is alone in an environment (e.g., an empty room). In environment <NUM>-<NUM>, the user approaches the computing device <NUM> from a large distance. As an example, this distance can be on the order of several meters (e.g., greater than <NUM> meters). The ultrasonic sensor <NUM> does not detect the presence of the user in environments <NUM>-<NUM> and <NUM>-<NUM> because the user is beyond a maximum detection range of the ultrasonic sensor <NUM>.

When the user is in close proximity to the computing device <NUM> (e.g., within the maximum detection range of the ultrasonic sensor <NUM>), the ultrasonic sensor <NUM> detects the presence of the user. In environment <NUM>-<NUM>, the user moves their hand towards the computing device <NUM>, which decreases a distance between the computing device <NUM> and the hand of the user. In environment <NUM>-<NUM>, two users are seated in close proximity (e.g., on a nearby couch) to the computing device <NUM>. In this example, the ultrasonic sensor <NUM> may detect the presence of one or more users.

The ultrasonic sensor <NUM> also detects the presence of the user when the user is in contact with the computing device <NUM>, as illustrated in environments <NUM>-<NUM> and <NUM>-<NUM>. Contact between the user and the computing device <NUM> may include a touch with a hand, an abrasive motion with the hand, or a swipe or scroll movement of the hand. In environment <NUM>-<NUM>, the hand touches a display of the computing device <NUM> and the ultrasonic sensor <NUM> detects the presence of the user. In environment <NUM>-<NUM>, the user reaches for the computing device <NUM> stored within a purse and the ultrasonic sensor <NUM> detects the contact between the user and the computing device <NUM>. The computing device <NUM> and the ultrasonic sensor <NUM> are further described with respect to <FIG>.

<FIG> illustrates the ultrasonic sensor <NUM> as part of the computing device <NUM>. The computing device <NUM> is illustrated with various non-limiting example devices including a desktop computer <NUM>-<NUM>, a tablet <NUM>-<NUM>, a laptop <NUM>-<NUM>, a television <NUM>-<NUM>, a computing watch <NUM>-<NUM>, computing glasses <NUM>-<NUM>, a gaming system <NUM>-<NUM>, a microwave <NUM>-<NUM>, and a vehicle <NUM>-<NUM>. Other devices may also be used, including a home-service device, a smart speaker, a smart thermostat, a security camera, a baby monitor, a Wi-Fi® router, a drone, a trackpad, a drawing pad, a netbook, an e-reader, a home-automation and control system, a wall display, a virtual-reality headset, and another home appliance. Note that the computing device <NUM> can be wearable, non-wearable but mobile, or relatively immobile (e.g., desktops and appliances).

The computing device <NUM> includes one or more computer processors <NUM> and one or more computer-readable medium <NUM>, which includes memory media and storage media. Applications and/or an operating system (not shown) embodied as computer-readable instructions on the computer-readable medium <NUM> can be executed by the computer processor <NUM> to provide some of the functionalities described herein. The computer-readable medium <NUM> also includes an ultrasonic sensor application <NUM>, which uses data generated by the ultrasonic sensor <NUM> to perform functions. For example, the ultrasonic sensor application <NUM> uses the ultrasonic sensor data to perform functions to improve the user experience. If there is an occlusion of a speaker or a microphone of the computing device <NUM>, the ultrasonic sensor application <NUM> may notify the user. For example, a notification may include an alert on a display of the computing device <NUM>, an alert sound, or haptic feedback.

The computing device <NUM> can also include a network interface <NUM> for communicating data over wired, wireless, or optical networks. For example, the network interface <NUM> may communicate data over a local-area-network (LAN), a wireless local-area-network (WLAN), a personal-area-network (PAN), a wire-area-network (WAN), an intranet, the Internet, a peer-to-peer network, point-to-point network, a mesh network, and the like. The computing device <NUM> may also include a display (not shown).

The ultrasonic sensor <NUM> includes a communication interface <NUM> to transmit ultrasonic sensor data to a remote device, though this need not be used when the ultrasonic sensor <NUM> is integrated within the computing device <NUM>. In general, the ultrasonic sensor data provided by the communication interface <NUM> is in a format usable by the ultrasonic sensor application <NUM>.

The ultrasonic sensor <NUM> includes at least one transducer <NUM> that can convert electrical signals into sound waves. The transducer <NUM> can also detect and convert sound waves into electrical signals. These electrical signals and sound waves may include frequencies in an ultrasonic range and/or an acoustic range, either of which may be used for the detection of user presence.

A frequency spectrum (e.g., range of frequencies) that the transducer <NUM> uses to generate an ultrasonic signal can include frequencies from a low-end of the acoustic range to a high-end of the ultrasonic range, <NUM> hertz (Hz) to <NUM> megahertz (MHz) or include frequencies in the ultrasonic range, <NUM> kilohertz (kHz) to <NUM>. In some cases, the frequency spectrum can be divided into multiple sub-spectrums that have similar or different bandwidths. For example, different frequency sub-spectrums may include <NUM> to <NUM>, <NUM> to <NUM>, <NUM> to <NUM>, <NUM> to <NUM>, <NUM> to <NUM>, <NUM> to <NUM>, or <NUM> to <NUM>.

These frequency sub-spectrums can be contiguous or disjoint, and the transmitted signal can be modulated in phase and/or frequency. To achieve coherence, multiple frequency sub-spectrums (contiguous or not) that have a same bandwidth may be used by the transducer <NUM> to generate multiple ultrasonic signals, which are transmitted simultaneously or separated in time. In some situations, multiple contiguous frequency sub-spectrums may be used to transmit a single ultrasonic signal, thereby enabling the ultrasonic signal to have a wide bandwidth.

In an example implementation, the transducer <NUM> of the ultrasonic sensor <NUM> has a monostatic topology. With this topology, the transducer <NUM> can convert the electrical signals into sound waves and convert sound waves into electrical signals (e.g., can transmit or receive ultrasonic signals). Example monostatic transducers may include piezoelectric transducers, capacitive transducers, and micro-machined ultrasonic transducers (MUTs) that use microelectromechanical systems (MEMS) technology.

Alternatively, the transducer <NUM> can be implemented with a bistatic topology, which includes multiple transducers located at different positions on the computing device <NUM>. In this case, a first transducer converts the electrical signal into sound waves (e.g., transmits ultrasonic signals) and a second transducer converts sound waves into an electrical signal (e.g., receives the ultrasonic signals). An example bistatic topology can be implemented using at least one microphone and at least one speaker. The microphone and speaker can be dedicated for operations of the ultrasonic sensor <NUM>. Alternatively, the microphone and speaker can be shared by both the computing device <NUM> and the ultrasonic sensor <NUM>.

The ultrasonic sensor <NUM> includes at least one analog circuit <NUM>, which includes circuitry and logic for conditioning electrical signals in an analog domain. The analog circuit <NUM> can include a waveform generator, analog-to-digital converters, amplifiers, filters, mixers, and switches for generating and modifying electrical signals. In some implementations, the analog circuit <NUM> includes other hardware circuitry associated with the speaker or microphone.

The ultrasonic sensor <NUM> also includes one or more system processors <NUM> and one or more system media <NUM> (e.g., one or more computer-readable storage media). The system processor <NUM> processes the electrical signals in a digital domain. The system media <NUM> optionally includes a user-detection module <NUM> and a component-control module <NUM>. The user-detection module <NUM> and the component-control module <NUM> can be implemented using hardware, software, firmware, or a combination thereof. In this example, the system processor <NUM> implements the user-detection module <NUM> and the component-control module <NUM>. Together, the user-detection module <NUM> and the component-control module <NUM> enable the system processor <NUM> to process responses (e.g., electrical signals) from the transducer <NUM> to detect the presence of the user and change the operational state of a component <NUM>, respectively.

The user-detection module <NUM> detects the presence of the user based on the electrical signals received by the transducer <NUM>. In <FIG>, the user-detection module <NUM> detects the user's presence using time-of-flight techniques when the user is in close proximity to the computing device <NUM>, as illustrated in environments <NUM>-<NUM> and <NUM>-<NUM>. The user-detection module <NUM> also detects the user's presence using non-time-of-flight techniques when the user is in contact with the computing device <NUM>, as illustrated in environments <NUM>-<NUM> and <NUM>-<NUM>.

Responsive to detecting user presence, the component-control module <NUM> controls the operational state of at least one component <NUM> of the computing device <NUM>. In <FIG>, the ultrasonic sensor <NUM> detects the user(s) in environments <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> due to the close proximity or contact between the user and the computing device <NUM>. In response, the component-control module <NUM> triggers a change in the operational state (e.g., active or inactive state) of the component <NUM> to improve the user experience and/or manage power of the computing device <NUM>.

The computing device <NUM> includes a component <NUM> that is distinct (e.g., separate) from the ultrasonic sensor <NUM> and has at least two operational states. In some examples, the component <NUM> consumes different amounts of power in different operational states. In other examples, the component <NUM> operates differently in various operational states (e.g., selectively emits sound in a first operational state and remains quiet in a second operational state, selectively emits light in a first operational state and does not emit light in a second operational state, transmits radio-frequency signals at different power levels or beam steering angles). Example components <NUM> are further described with respect to <FIG>.

<FIG> illustrates example interconnections between the ultrasonic sensor <NUM> and other components of the computing device <NUM>. In the depicted example, the ultrasonic sensor <NUM> is connected (directly or indirectly) to the component <NUM>. During operation, the ultrasonic sensor <NUM> passes a control signal <NUM> to the component <NUM> to change an operational state of the component <NUM>. For example, the control signal <NUM> can include a command to change the operational state of the component <NUM> from an inactive state to an active state (or vice versa), a command to adjust the amount of power consumed by the component <NUM>, or a command to change the emitted sound or light from the computing device <NUM>. In other implementations not shown, the ultrasonic sensor <NUM> can pass the control signal <NUM> to the computer processor <NUM> (of <FIG>), which forwards the control signal <NUM> to the component <NUM>.

As an example, the component <NUM> can include an optical sensor <NUM>, which emits light in an active state and does not emit light in an inactive state. Additionally or alternatively, the component <NUM> can include a location sensor, a camera, a display, a health sensor, an accelerometer, a barometer, an inertial-motion sensor, or a wireless-communication module. An example sequence of events can cause the ultrasonic sensor <NUM> to change the operational state of the component <NUM>, as further described with respect to <FIG> and <FIG>.

<FIG> and <FIG> each illustrate a sequence flow diagram, with time progressing from left to right. At <NUM>-<NUM>, a user <NUM> is a distance <NUM>-<NUM> away from the computing device <NUM>. The distance is large enough (e.g., <NUM> meters or greater) that the ultrasonic sensor <NUM> does not detect the presence of the user <NUM>. When the user <NUM> approaches the computing device <NUM> and is at a smaller distance <NUM>-<NUM> illustrated at <NUM>-<NUM>, the ultrasonic sensor <NUM> detects the user <NUM>'s presence due to the user <NUM> being within a detectable range of the ultrasonic sensor <NUM>.

<FIG> illustrates the ultrasonic sensor <NUM> changing the operational state of a component <NUM>. In this example, the component <NUM> is the optical sensor <NUM>, which emits light in a second operational state <NUM> (e.g., an active state). At <NUM>-<NUM>, the ultrasonic sensor <NUM> causes the optical sensor <NUM> to be in a first operational state <NUM> (e.g., an inactive state) in which the sensor is not emitting light because the user <NUM> is located a distance <NUM>-<NUM> greater than a threshold distance away from the computing device <NUM>. As an example, this threshold distance can be five centimeters. In this case, the ultrasonic sensor <NUM> can detect the presence of the user <NUM> in <NUM>-<NUM>, but the user <NUM> is far enough away from the optical sensor <NUM> to keep the component <NUM> in the inactive state.

At <NUM>-<NUM>, the user <NUM> reaches for the computing device <NUM>, thereby causing the user <NUM> to be a distance <NUM>-<NUM> away from the computing device <NUM>. In this case, the distance <NUM>-<NUM> is less than the threshold distance (e.g., five centimeters). As such, the ultrasonic sensor <NUM> triggers the optical sensor <NUM> to change operational states. The optical sensor <NUM> changes from the first operational state <NUM> to the second operational state <NUM>, in which it emits light <NUM> to detect a close proximity of the user <NUM> or perform other operations.

While the example component <NUM> of <FIG> and <FIG> is shown to be an optical sensor <NUM>, the component <NUM> may also include other types of components mentioned in <FIG>. For example, if the component <NUM> is a display, the ultrasonic sensor <NUM> can control a brightness of the display based on the user <NUM>'s presence to improve the user experience or save power while the user <NUM> is not present. In this example, the user <NUM> reaches for the computing device <NUM>, thereby triggering the component <NUM> to increase the display brightness. The user <NUM> may find it enjoyable for the display to automatically brighten. In this way, the ultrasonic sensor <NUM> anticipates the needs or desires of the user <NUM>.

Returning to <FIG>, the computing device <NUM> can optionally include an inertial sensor <NUM> that detects motion of the computing device <NUM>. The inertial sensor <NUM> can control an operational state of the ultrasonic sensor <NUM> based on the motion or lack of motion of the computing device <NUM>. If the inertial sensor <NUM> detects motion of the computing device <NUM>, the inertial sensor <NUM> passes an alert signal <NUM> to the ultrasonic sensor <NUM> to indicate that the computing device <NUM> is in motion and likely being held by the user <NUM>. The alert signal <NUM> triggers a change in the operational state of the ultrasonic sensor <NUM>.

In other implementations, the inertial sensor <NUM> can affect the ultrasonic sensor <NUM>'s control of the component <NUM>. For example, the ultrasonic sensor <NUM> can cause the optical sensor <NUM> to transition from the first operational state <NUM> to the second operational state <NUM> responsive to determining that the user <NUM> is less than the threshold distance from the optical sensor <NUM> and the alert signal <NUM> indicating that the computing device <NUM> is in motion. In this case, the ultrasonic sensor <NUM> can be in the active state even if the alert signal <NUM> indicates that the computing device <NUM> is stationary.

For example, in <FIG>, the ultrasonic sensor <NUM> operates in an inactive state or power-saving state at <NUM>-<NUM>. At <NUM>-<NUM>, the inertial sensor <NUM> detects motion of the computing device <NUM> as the user <NUM> touches the computing device <NUM>. As a result, the inertial sensor <NUM> causes the ultrasonic sensor <NUM> to transition from the inactive state to an active state. In the active state, the ultrasonic sensor <NUM> transmits and receives ultrasonic signals and detects the user <NUM>. By controlling the operational state of the ultrasonic sensor <NUM>, the inertial sensor <NUM> can enable the computing device <NUM> to conserve power in situations in which the computing device <NUM> is stationary and the user <NUM> is outside a detectable range of the ultrasonic sensor <NUM>. In this way, the inertial sensor <NUM> limits the operation of the ultrasonic sensor <NUM> to situations in which the user <NUM> is likely present and/or interacting with the computing device <NUM> (e.g., causing it to move.

At <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM>, the ultrasonic sensor <NUM> can utilize time-of-flight techniques, occlusion-detection techniques (e.g., non-time-of-flight techniques), or a combination thereof to detect the user. Operations of the ultrasonic sensor <NUM> for detecting user presence are further described with respect to <FIG>.

<FIG> illustrates example implementations of the transducer <NUM>, the analog circuit <NUM>, and the system processor <NUM> of the ultrasonic sensor <NUM>. In the depicted configuration, the analog circuit <NUM> is coupled between the transducer <NUM> and the system processor <NUM>. The analog circuit <NUM> includes a transmitter <NUM> and a receiver <NUM>. The transmitter <NUM> includes a waveform generator <NUM> coupled to the system processor <NUM>. The receiver <NUM> includes multiple receive channels <NUM>-<NUM> to <NUM>-M, where M represents a positive integer. In other implementations not shown, the receiver <NUM> includes a single receive channel <NUM>-<NUM>. The receive channels <NUM>-<NUM> to <NUM>-M are coupled to the system processor <NUM>.

The transducer <NUM> is implemented with a bistatic topology, which includes at least one speaker <NUM>-<NUM> and at least one microphone <NUM>-<NUM>. The speaker <NUM>-<NUM> is coupled to the transmitter <NUM>, and the microphone <NUM>-<NUM> is coupled to a receive channel <NUM>-<NUM> of the receiver <NUM>. In <FIG>, an additional speaker <NUM>-S is shown coupled to the transmitter <NUM>, and an additional microphone <NUM>-M is shown coupled to the receive channel <NUM>-M, where S includes integer values corresponding to the quantity of speakers and M includes integer values corresponding to the quantity of microphones utilized by the ultrasonic sensor <NUM>.

Although the ultrasonic sensor <NUM> in <FIG> includes multiple speakers <NUM>-<NUM> and <NUM>-S and multiple microphones <NUM>-<NUM> and <NUM>-M, other implementations of the ultrasonic sensor <NUM> can include a single speaker and a single microphone, multiple speakers and one microphone, single speaker and multiple microphones, or other types of transducers capable of transmitting and/or receiving. In some implementations, the speakers <NUM>-<NUM> to <NUM>-S and microphones <NUM>-<NUM> to <NUM>-M can also operate with audible signals. For example, the computing device <NUM> can play music through the speakers <NUM>-<NUM> to <NUM>-S and detect the user <NUM>'s voice using the microphones <NUM>-<NUM> to <NUM>-M.

During transmission, the transmitter <NUM> passes electrical signals to the speakers <NUM>-<NUM> to <NUM>-S, which emit ultrasonic transmit signals <NUM>-<NUM> and <NUM>-S, respectively. In particular, the waveform generator <NUM> generates the electrical signals which can have similar waveforms (e.g., similar amplitudes, phases, and frequencies) or different waveforms (e.g., different amplitudes, phases, and/or frequencies). The waveform generator <NUM> also communicates the electrical signals to the system processor <NUM> for digital signal processing. The ultrasonic transmit signals <NUM>-<NUM> to <NUM>-S may or may not be reflected by an object (e.g., the user <NUM>).

During reception, each microphone <NUM>-<NUM> to <NUM>-M receives a version of the ultrasonic receive signal <NUM>-<NUM> to <NUM>-M, respectively. Relative phase differences, frequencies, and amplitudes between the ultrasonic receive signals <NUM>-<NUM> to <NUM>-M and the ultrasonic transmit signals <NUM> to <NUM>-S may vary due to the interaction of the ultrasonic transmit signals <NUM>-<NUM> to <NUM>-S with a nearby object or the external environment (e.g., path loss, noise sources). The ultrasonic receive signals <NUM>-<NUM> to <NUM>-M can have different phases based on positions of the microphones <NUM>-<NUM> and <NUM>-M on the computing device <NUM>. Thus, "a version of an ultrasonic transmit signal" refers to the ultrasonic transmit signal after it has interacted with a nearby object (e.g., a user) and/or the environment. In general, such interactions may change one or more properties of the transmit signal (e.g., a frequency, phase and/or amplitude of the transmit signal), otherwise distort the transmit signal (e.g., by adding or removing one or more frequency components, or changing the amplitude and/or phase of one or more frequency components relative to other frequency components) and/or introduce a time delay.

Depending on the situation, the ultrasonic receive signals <NUM>-<NUM> and <NUM>-M can each include a version of the ultrasonic transmit signal <NUM>-<NUM>, a version of the ultrasonic transmit signal <NUM>-S, an audible signal, or some combination thereof. In other situations, at least one of the ultrasonic receive signals <NUM>-<NUM> and <NUM>-M do not include versions of the ultrasonic transmit signals <NUM>-<NUM> or <NUM>-S.

The system processor <NUM> includes the user-detection module <NUM> and the component-control module <NUM>. The user-detection module <NUM> accepts signals from the waveform generator <NUM> and the receive channels <NUM>-<NUM> and <NUM>-M and analyzes these signals to determine the user <NUM>'s presence. In some cases, the user-detection module <NUM> uses a digital filter to separate signals within the audible frequency range and the ultrasonic frequency range. Example occlusion-detection techniques are further described with respect to <FIG>. The user-detection module <NUM> can also perform range compression, baseband processing, clutter filter cancellation, constant-false-alarm-rate detection, and/or heuristics.

In some cases, the user-detection module <NUM> uses time-of-flight techniques and/or triangulation techniques to directly measure the slant range and angle to the user <NUM>, respectively. In this way, the user-detection module <NUM> can determine a relative location of the user <NUM>. Additionally, if a relative location of the component <NUM> is known by the ultrasonic sensor <NUM>, the user-detection module <NUM> can also determine a relative location of the user <NUM> with respect to the component <NUM>. With this knowledge, the ultrasonic sensor <NUM> can execute finer control over the operational state of the component <NUM> based on the relative location of the user <NUM> with respect to the component <NUM>. In other cases, the user-detection module <NUM> uses occlusion-detection techniques for detecting user presence. These occlusion-detection techniques (e.g., non-time-of-flight techniques) are further described with respect to <FIG>.

Responsive to detecting the user <NUM>, the user-detection module <NUM> can transmit a detection signal <NUM> to the ultrasonic sensor application <NUM>. The detection signal <NUM> can alert the computing device <NUM> to the detection event and pass along additional ultrasonic sensor data (e.g., information about the location or movement of the user). The user-detection module <NUM> can also pass the detection signal <NUM> to the component-control module <NUM>. Based on the detection signal <NUM>, the component-control module <NUM> generates the control signal <NUM>, which controls the operational state of the component <NUM>, as illustrated in <FIG>.

In some implementations, the system processor <NUM> accepts the alert signal <NUM> from the inertial sensor <NUM> (of <FIG>). Based on the alert signal <NUM>, the system processor <NUM> causes the ultrasonic sensor <NUM> to operate in an inactive state or an active state. Example positions of the microphones <NUM>-<NUM> to <NUM>-M and speakers <NUM>-<NUM> and <NUM>-S on the computing device <NUM> are further described with respect to <FIG>.

<FIG> illustrates example positions for the microphones <NUM>-<NUM> to <NUM>-M and the speakers <NUM>-<NUM> to <NUM>-S on the computing device <NUM>. Although the example computing device <NUM> of <FIG> is shown to include multiple microphones <NUM>-<NUM> and <NUM>-M and multiple speakers <NUM>-<NUM> and <NUM>-S, the ultrasonic sensor <NUM> may operate with one or more of these microphones <NUM>-<NUM> to <NUM>-M and one or more these speakers <NUM>-<NUM> to <NUM>-S at any given time.

In environment <NUM>, the microphone <NUM>-<NUM> is positioned a distance <NUM>-<NUM> away from the microphone <NUM>-M, and the speaker <NUM>-<NUM> is positioned a distance <NUM>-<NUM> away from the speaker <NUM>-S. In some implementations, the distances <NUM>-<NUM> and <NUM>-<NUM> can be at least five centimeters. Additionally or alternatively, the microphones <NUM>-<NUM> to <NUM>-M and the speakers <NUM>-<NUM> to <NUM>-S are positioned within different portions of the computing device <NUM>. Consider an example in which the computing device <NUM> includes first portion <NUM> and second portion <NUM> defined by a plane that is perpendicular to a longest edge of the computing device <NUM> and passes through a middle of the computing device <NUM>. In this example, the speaker <NUM>-<NUM> is positioned within the first portion <NUM>, and the speaker <NUM>-S is positioned with the second portion <NUM>. Similarly, the microphone <NUM>-<NUM> is positioned within the first portion <NUM>, and the microphone <NUM>-M is positioned with the second portion <NUM>. In general, the positions of the microphones <NUM>-<NUM> to <NUM>-M are such that a user is unlikely to occlude all of the microphones <NUM>-<NUM> to <NUM>-M with a common grip. In other words, the distance <NUM>-<NUM> is sufficiently far to enable at least one of the microphones <NUM> to not be occluded by an appendage of the user, which occludes at least one of the other microphones <NUM>. Similarly, the positions of the speakers <NUM>-<NUM> to <NUM>-S are such that a user is unlikely to occlude all of the speakers <NUM>-<NUM> to <NUM>-S with a common grip. In other words, the distance <NUM>-<NUM> is sufficiently far to enable at least one of the speakers <NUM> to not be occluded by an appendage of the user, which occludes at least one of the other speakers <NUM>.

The computing device <NUM> is also shown in <FIG> to include the optical sensor <NUM> positioned near (e.g., proximate to) the microphone <NUM>-<NUM> and speaker <NUM>-<NUM>. In this way, the ultrasonic sensor <NUM> can utilize occlusion-detection techniques to control the operational state of the optical sensor <NUM>. If the ultrasonic sensor <NUM> detects that the user <NUM> is close to the microphone <NUM>-<NUM> and/or speaker <NUM>-<NUM>, for example, the ultrasonic sensor <NUM> can assume that the user <NUM> is also close to the optical sensor <NUM> and adjust the operational state of the optical sensor <NUM> accordingly. The ultrasonic sensor <NUM> of this example computing device <NUM> can detect user presence based on occlusion of one or more microphones (<NUM>-<NUM> or <NUM>-M), occlusion of one or more speakers (<NUM>-<NUM> or <NUM>-S), and/or a change in an audible noise floor, as further described with respect to <FIG>, <FIG>, and <FIG>.

In an example implementation, the ultrasonic sensor <NUM> uses a single microphone (e.g., microphone <NUM>-<NUM>) and a single speaker (e.g., speaker <NUM>-<NUM>). In this case, the ultrasonic sensor <NUM> can detect user presence using occlusion detection techniques. During operation, the speaker <NUM>-<NUM> transmits an ultrasonic transmit signal <NUM>-<NUM>. If the microphone <NUM>-<NUM> does not receive the ultrasonic receive signal <NUM>-<NUM>, then the user-detection module <NUM> determines that the user <NUM> is present and occludes either the speaker <NUM>-<NUM> or the microphone <NUM>-<NUM>. The component-control module <NUM> can transmit a control signal <NUM> to the component <NUM> to change its operational state. In this example, the ultrasonic sensor <NUM> may not be able to determine which transducer <NUM> (speaker <NUM>-<NUM> or microphone <NUM>-<NUM>) is occluded. For better localization of an occlusion, the ultrasonic sensor <NUM> can utilize multiple microphones <NUM> and/or speakers <NUM>, as further described with respect to <FIG> and <FIG>.

<FIG> illustrates an example technique for detecting user presence based on microphone occlusion. In environment <NUM>, the ultrasonic sensor <NUM> transmits at least one of the ultrasonic transmit signals <NUM>-<NUM> and <NUM>-S using the speakers <NUM>-<NUM> and <NUM>-S, respectively. The ultrasonic sensor <NUM>, however, only receives the ultrasonic receive signal <NUM>-<NUM> using the microphone <NUM>-<NUM>. The ultrasonic receive signal <NUM>-<NUM> represents a version of the ultrasonic transmit signal <NUM>-<NUM> and/or <NUM>-S, which may or may not be reflected by the user <NUM>. In this case, the microphone <NUM>-M either does not receive the ultrasonic receive signal <NUM>-M or receives the ultrasonic receive signal <NUM>-M with insufficient amplitude for detection due to occlusion of microphone <NUM>-M by a hand of the user <NUM>.

The receiver <NUM> passes this information to the system processor <NUM>. The user-detection module <NUM> determines that the microphone <NUM>-M is occluded and generates the detection signal <NUM> to indicate that the user <NUM> is present. The detection signal <NUM> can further indicate that the user <NUM> is proximate to the microphone <NUM>-M. In some situations, the component-control module <NUM> can transmit the control signal <NUM> to change the operational state of a component <NUM>. For example, if the user <NUM> reaches for the computing device <NUM> and occludes the microphone <NUM>-M, the ultrasonic sensor <NUM> can detect this occlusion and trigger the optical sensor <NUM> to change to the second operational state <NUM>, as shown in <FIG>.

<FIG> illustrates another example technique for detecting user presence based on speaker occlusion. In environment <NUM>, the ultrasonic sensor <NUM> transmits ultrasonic transmit signals <NUM>-<NUM> to <NUM>-S. The ultrasonic transmit signals <NUM>-<NUM> to <NUM>-S have different waveforms in order to enable the ultrasonic sensor <NUM> to distinguish between received versions of these signals. In <FIG>, the ultrasonic transmit signal <NUM>-S is not explicitly depicted because the hand of the user <NUM> is blocking the speaker <NUM>-S. The ultrasonic sensor <NUM> receives at least one of the ultrasonic receive signals <NUM>-<NUM> to <NUM>-M, which include a version of the ultrasonic transmit signal <NUM>-<NUM>. The version of the ultrasonic transmit signal <NUM>-<NUM> may or may not be reflected by the hand of the user <NUM>.

The receiver <NUM> passes this information to the system processor <NUM>. The user-detection module <NUM> determines that the speaker <NUM>-S is occluded and generates the detection signal <NUM> to indicate that the user <NUM> is present. The detection signal <NUM> can further indicate that the user <NUM> is proximate to the speaker <NUM>-S. In some situations, the component-control module <NUM> can transmit the control signal <NUM> to change the operational state of a component <NUM>. For example, if the user <NUM> reaches for the computing device <NUM> and occludes the speaker <NUM>-S, the ultrasonic sensor <NUM> can detect this occlusion and trigger the optical sensor <NUM> to change to the second operational state <NUM>, as shown in <FIG>.

In another example implementation, the ultrasonic sensor <NUM> detects user presence using a single microphone (e.g., microphone <NUM>-<NUM>). In this case, the microphone <NUM>-<NUM> does not receive detectable versions of the ultrasonic transmits signals <NUM>-<NUM> to <NUM>-S. In this case, the ultrasonic sensor <NUM> determines that the user <NUM> is present and occludes the speakers <NUM>-<NUM> to <NUM>-S and/or the microphone <NUM>-<NUM>.

In yet another example implementation, the ultrasonic sensor <NUM> detects user presence based on speaker occlusion using two microphones and a single speaker (e.g., speaker <NUM>-<NUM>). In this case, the speaker <NUM>-<NUM> transmits the ultrasonic transmit signal <NUM>-<NUM>. If both microphones <NUM>-<NUM> and <NUM>-M do not receive detectable versions of the ultrasonic transmit signal <NUM>-<NUM>, then the ultrasonic sensor <NUM> determines that the speaker <NUM>-<NUM> is occluded (e.g., by a hand of the user <NUM>).

<FIG> illustrates an example technique for detecting user presence based on a change in an audible noise floor <NUM>. As shown in <FIG>, an example sequence of events causes the audible noise floor <NUM> associated with an audible receive signal <NUM> to change. In some cases, the audible noise floor <NUM> can change due to an abrasive motion of the hand of the user <NUM> across or near the microphone <NUM>-M (e.g., rubbing of the hand, movement of a finger).

In environment <NUM>-<NUM>, the microphone <NUM>-M is free of occlusion and receives the audible receive signal <NUM>. The audible receive signal <NUM> has a corresponding audible noise floor <NUM>. The audible noise floor <NUM> at this time features a low amplitude. At a later time in environment <NUM>-<NUM>, the user <NUM> moves their hand over or next to the microphone <NUM>-M, which results in an abrasive motion across the computing device <NUM>. This contact between the user <NUM> and the computing device <NUM> increases the amplitude of the audible noise floor <NUM>, resulting in a noise floor change <NUM> that can be detected by the ultrasonic sensor <NUM>.

In general, the noise floor change <NUM> can include a change in amplitude, frequency, and/or phase of the audible noise floor <NUM>. In <FIG>, the noise floor change <NUM> includes a detectable change in the audible noise floor <NUM> over time. For example, a detectable change can include the amplitude of the audible noise floor <NUM> increasing by <NUM>% or more. In environment <NUM>-<NUM>, the amplitude of the audible noise floor <NUM> increases significantly due to the rubbing motion made by the user <NUM>.

Alternatively, the noise floor change <NUM> can include a decrease in the amplitude of the audible noise floor <NUM>. For example, if the user <NUM> occludes at least a portion of the microphone <NUM>-M, the audible noise floor <NUM> can decrease due to a reduction in detected ambient noise. The ultrasonic sensor <NUM> can detect this noise floor change <NUM> and determine that the user <NUM> is within close proximity of the computing device <NUM>.

Additionally or alternatively, the ultrasonic sensor <NUM> can detect user presence by comparing the audible noise floor <NUM> to a noise floor associated with the ultrasonic frequency range (e.g., an ultrasonic noise floor). If the audible noise floor <NUM> has a higher amplitude than the ultrasonic noise floor (e.g., by <NUM>% or more), the ultrasonic sensor <NUM> determines that the user is present.

The ultrasonic sensor <NUM> can also analyze a shape of the audible receive signal <NUM> to detect the user <NUM>. In some situations, a frequency spectrum of the audible receive signal <NUM> has a Gaussian shape if the microphone <NUM>-M is free of occlusion and an irregular shape if the user <NUM> is proximate to the microphone <NUM>-M. By detecting a change in the audible noise floor <NUM>, detecting a difference between the audible noise floor <NUM> and the ultrasonic noise floor, and/or detecting a change in the shape of the audible receive signal <NUM>, the ultrasonic sensor <NUM> can detect the user <NUM> using a single receiving transducer <NUM>.

In some implementations, the ultrasonic sensor <NUM> can also detect user presence based on a change in an ultrasonic noise floor (not depicted). Similar techniques as described above with respect to detecting the change in the audible noise floor <NUM> can be applied to detect the presence of the user <NUM> based on a change in the ultrasonic noise floor.

Though not depicted, the techniques for detecting user presence described in <FIG> can apply to a computing device <NUM> that includes any at least one microphone, where M is greater than or equal to <NUM>, and at least one speaker, where S is greater than or equal to <NUM>. For example, the ultrasonic sensor <NUM> can perform operations using M microphones and S speakers to detect occlusion of one or more transducers <NUM>, whereM and S are integer values.

<FIG> depicts an example method <NUM> for detecting user presence based on microphone occlusion. In portions of the following discussion, reference may be made to environments <NUM>-<NUM> to <NUM>-<NUM> of <FIG>, and entities detailed in <FIG> or <FIG>, reference to which is made for example only. The techniques are not limited to performance by one entity or multiple entities operating on one computing device <NUM>.

At <NUM>, an ultrasonic transmit signal is transmitted using an ultrasonic sensor. For example, the ultrasonic sensor <NUM> transmits the ultrasonic transmit signal <NUM>-<NUM> or <NUM>-S, as shown in <FIG>. The ultrasonic transmit signal <NUM>-<NUM> or <NUM>-S includes frequencies between approximately <NUM> to <NUM> and can represent a pulsed signal or a continuous signal. In some cases, the ultrasonic sensor <NUM> modulates a characteristic of the ultrasonic transmit signal <NUM>-<NUM> or <NUM>-S, including the phase and/or frequency. In some implementations, the ultrasonic sensor <NUM> transmits the ultrasonic transmit signal <NUM>-<NUM> or <NUM>-S responsive to receiving the alert signal <NUM> from the inertial sensor <NUM>, as illustrated in <FIG>.

The ultrasonic sensor <NUM> can use a dedicated transducer <NUM> to transmit the ultrasonic transmit signal <NUM>-<NUM> or <NUM>-S. In other implementations, the ultrasonic sensor <NUM> can use a shared speaker (e.g., speaker <NUM>-<NUM> or <NUM>-S) of the computing device <NUM> to transmit the ultrasonic transmit signal <NUM>-<NUM> or <NUM>-S. In some situations, the shared speaker also transmits audible signals during a portion of time that the ultrasonic transmit signal <NUM>-<NUM> or <NUM>-S is transmitted.

At <NUM>, an ultrasonic receive signal using a first transducer of the ultrasonic sensor is received. The ultrasonic receive signal comprises a version of the ultrasonic transmit signal. For example, the ultrasonic sensor <NUM> receives the ultrasonic receive signal <NUM>-<NUM> using a first microphone <NUM>-<NUM> of <FIG>. The ultrasonic receive signal <NUM>-<NUM> is a version of the ultrasonic transmit signal <NUM>-<NUM> (e.g., a delayed version of the ultrasonic transmit signal <NUM>-<NUM>). In some cases, the ultrasonic receive signal <NUM>-<NUM> has a different amplitude than the ultrasonic transmit signal <NUM>-<NUM> and/or is shifted in phase and/or frequency. The ultrasonic receive signal <NUM>-<NUM> may or may not include a version of the ultrasonic transmit signal <NUM>-<NUM> that is reflected by an object (e.g., the user <NUM>). In some implementations, the ultrasonic sensor <NUM> receives the ultrasonic receive signal <NUM>-<NUM> during at least a portion of time that the ultrasonic transmit signal <NUM>-<NUM> or <NUM>-S is transmitted.

At <NUM>, occlusion of a second transducer of the ultrasonic sensor is detected. For example, the ultrasonic sensor <NUM> detects that the microphone <NUM>-M is occluded. In particular, the ultrasonic sensor <NUM> can analyze the ultrasonic receive signal <NUM>-M received by the microphone <NUM>-M to determine that a version of the ultrasonic transmit signal <NUM>-<NUM> is not present or an amplitude of the version of the ultrasonic transmit signal <NUM>-<NUM> is less than a detection threshold.

At <NUM>, a presence of an object is determined responsive to the detecting that the second transducer is occluded. For example, the ultrasonic sensor <NUM> determines that an object (e.g., the user <NUM>) is present responsive to detecting the occlusion of the microphone <NUM>-M.

<FIG> depicts an example method <NUM> for detecting user presence based on speaker occlusion. Method <NUM> is shown as sets of operations (or acts) performed but not necessarily limited to the order or combinations in which the operations are shown herein. Further, any of one or more of the operations may be repeated, combined, reorganized, or linked to provide a wide array of additional and/or alternate methods. In portions of the following discussion, reference may be made to environments <NUM>-<NUM> to <NUM>-<NUM> of <FIG>, and entities detailed in <FIG> or <FIG>, reference to which is made for example only. The techniques are not limited to performance by one entity or multiple entities operating on one computing device <NUM>.

At <NUM>, a first ultrasonic transmit signal is transmitted using an ultrasonic sensor. For example, the ultrasonic sensor <NUM> transmits the first ultrasonic transmit signal <NUM>-<NUM> using a first speaker <NUM>-<NUM>, as shown at <FIG>.

At <NUM>, a second ultrasonic transmit signal is transmitted using a second transducer of the ultrasonic sensor. The first ultrasonic transmit signal and the second ultrasonic transmit signals have different waveforms. For example, the ultrasonic sensor <NUM> transmits the ultrasonic transmit signal <NUM>-S using the speaker <NUM>-S of <FIG>. The ultrasonic transmit signals <NUM>-<NUM> and <NUM>-S have different waveforms. For example, the ultrasonic transmit signals <NUM>-<NUM> and <NUM>-S can have different amplitudes, phases, and/or frequencies.

The ultrasonic transmit signals <NUM>-<NUM> and <NUM>-S include frequencies between approximately <NUM> to <NUM>. The ultrasonic transmit signals <NUM>-<NUM> and <NUM>-S can also be pulsed signals or continuous signals. In some cases, the ultrasonic sensor <NUM> modulates a characteristic of the ultrasonic transmit signals <NUM>-<NUM> and <NUM>-S, including phase and/or frequency. In some implementations, the ultrasonic sensor <NUM> transmits the ultrasonic transmit signal <NUM>-<NUM> and <NUM>-S responsive to receiving the alert signal <NUM> from the inertial sensor <NUM>, as illustrated in <FIG>.

The ultrasonic sensor <NUM> can use dedicated transducers <NUM> to transmit the ultrasonic transmit signals <NUM>-<NUM> and <NUM>-S. In other implementations, the ultrasonic sensor <NUM> can use shared speakers (e.g., speakers <NUM>-<NUM> and <NUM>-S) of the computing device <NUM> to transmit the ultrasonic transmit signal <NUM>-S. In some situations, the shared speaker also transmits audible signals during a portion of time that the ultrasonic transmit signal <NUM>-S is transmitted.

At <NUM>, an ultrasonic receive signal is received by the ultrasonic sensor. The ultrasonic receive signal comprises a version of the first ultrasonic transmit signal. For example, the ultrasonic sensor <NUM> receives the ultrasonic receive signal <NUM>-<NUM> using the microphone <NUM>-<NUM> of <FIG>. The ultrasonic receive signal <NUM>-<NUM> is a version of the ultrasonic transmit signal <NUM>-<NUM>. In some cases, the ultrasonic receive signal <NUM>-<NUM> has a different amplitude than the ultrasonic transmit signal <NUM>-<NUM> and is shifted in phase and/or frequency. The ultrasonic receive signal <NUM>-<NUM> may or may not include a version of the ultrasonic transmit signal <NUM>-<NUM> that is reflected by an object (e.g., the user <NUM>). In some implementations, the ultrasonic sensor <NUM> receives the ultrasonic receive signal <NUM>-<NUM> during at least a portion of time that the ultrasonic transmit signals <NUM>-<NUM> and <NUM>-S are transmitted.

At <NUM>, occlusion of a second transducer of the ultrasonic sensor is detected. For example, the ultrasonic sensor <NUM> detects that the speaker <NUM>-S is occluded. In particular, the ultrasonic sensor <NUM> can compare the ultrasonic transmit signal <NUM>-S with the ultrasonic receive signal <NUM>-M corresponding to the ultrasonic transmit signal <NUM>-S to determine that a version of the ultrasonic transmit signal <NUM>-S is not present or an amplitude of the version of the ultrasonic transmit signal <NUM>-S is less than a detection threshold.

At <NUM>, a presence of an object is determined responsive to the detecting that the second transducer is occluded. For example, the ultrasonic sensor <NUM> determines that an object (e.g., the user <NUM>) is present responsive to detecting the occlusion of the speaker <NUM>-S.

<FIG> depicts an example method <NUM> for detecting user presence based on a change in noise floor. Method <NUM> is shown as sets of operations (or acts) performed but not necessarily limited to the order or combinations in which the operations are shown herein. Further, any of one or more of the operations may be repeated, combined, reorganized, or linked to provide a wide array of additional and/or alternate methods. In portions of the following discussion, reference may be made to environments <NUM>-<NUM> to <NUM>-<NUM> of <FIG>, and entities detailed in <FIG> or <FIG>, reference to which is made for example only. The techniques are not limited to performance by one entity or multiple entities operating on one computing device <NUM>.

At <NUM>, an audible receive signal is received using an ultrasonic sensor. For example, the ultrasonic sensor <NUM> receives the audible receive signal <NUM> using microphone <NUM>-M, as shown in <FIG>. The audible receive signal <NUM> includes frequencies in an audible range between approximately <NUM> and <NUM>. The audible receive signal <NUM> can include noise (e.g., internal, electrical, external). The noise has an audible noise floor <NUM>, which represents a maximum or average amplitude of the noise. In addition to being capable of receiving an audible receive signal <NUM>, the ultrasonic sensor <NUM> may also be capable of receiving an ultrasonic receive signal (e.g., a signal in a frequency range between approximately <NUM> to <NUM>). In this manner, an ultrasonic sensor <NUM> may be able to perform the methods <NUM> and/or <NUM>, as well as method <NUM>. Alternatively or additionally, the ultrasonic sensor <NUM> may be able to detect a change in both the ultrasonic noise floor and the audible noise floor.

At <NUM>, a change in an audible noise floor associated with the audible receive signal is detected. For example, the ultrasonic sensor <NUM> of <FIG> detects a noise floor change <NUM> in the audible receive signal <NUM>. The noise floor change <NUM> may include a change in amplitude, frequency, or phase of the audible noise floor <NUM>.

At <NUM>, a presence of an object is determined responsive to the detecting the change in noise floor. For example, the ultrasonic sensor <NUM> determines that an object (e.g., the user <NUM>) is present responsive to detecting the noise floor change <NUM> of the audible receive signal <NUM> received by the microphone <NUM>-M. User presence may occlude a portion of a transducer <NUM> and/or include an abrasive motion of a hand or finger of the user across or next to the transducer <NUM> of the ultrasonic sensor <NUM>. For example, in <FIG>, the user <NUM> rubs their finger across microphone <NUM>-M, which causes an abrasive motion. This abrasive motion changes the audible noise floor <NUM> associated with the audible receive signal <NUM>.

Although not explicitly shown in methods <NUM>, <NUM>, or <NUM>, the ultrasonic sensor <NUM> can perform additional operations responsive to determining that the object is present. For example, the ultrasonic sensor <NUM> can notify the user <NUM> using the ultrasonic sensor application <NUM> or control an operational state of the component <NUM>, as described in <FIG>, <FIG>, and <FIG>. Also, the ultrasonic sensor <NUM> can combine different operations across methods <NUM>, <NUM>, and <NUM> together. For example, the ultrasonic sensor <NUM> can determine that the user <NUM> is present responsive to detecting two or more of the following: microphone occlusion, speaker occlusion, or a change in an audible noise floor <NUM>.

<FIG> illustrates various components of an example computing system <NUM> that can be implemented as any type of client, server, and/or computing device as described with reference to the previous <FIG> to detect user presence using an ultrasonic sensor <NUM>.

The computing system <NUM> includes communication devices <NUM> that enable wired and/or wireless communication of device data <NUM> (e.g., received data, data that is being received, data scheduled for broadcast, or data packets of the data). Although not shown, the communication devices <NUM> or the computing system <NUM> can include one or more ultrasonic sensors <NUM> and one or more components <NUM>. The device data <NUM> or other device content can include configuration settings of the device, media content stored on the device, and/or information associated with a user <NUM> of the device. Media content stored on the computing system <NUM> can include any type of audio, video, and/or image data. The computing system <NUM> includes one or more data inputs <NUM> via which any type of data, media content, and/or inputs can be received, including human utterances, inputs from the ultrasonic sensor <NUM>, user-selectable inputs (explicit or implicit), messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.

The computing system <NUM> also includes communication interfaces <NUM>, which can be implemented as any one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface. The communication interfaces <NUM> provide a connection and/or communication links between the computing system <NUM> and a communication network by which other electronic, computing, and communication devices communicate data with the computing system <NUM>.

The computing system <NUM> includes one or more processors <NUM> (e.g., any of microprocessors, controllers, and the like), which process various computer-executable instructions to control the operation of the computing system <NUM> and to enable techniques for, or in which can be embodied, detection of the user <NUM>. Alternatively or in addition, the computing system <NUM> can be implemented with any one or combination of hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits, which are generally identified at <NUM>. Although not shown, the computing system <NUM> can include a system bus or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, including a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.

The computing system <NUM> also includes a computer-readable media <NUM>, including one or more memory devices that enable persistent and/or non-transitory data storage (i.e., in contrast to mere signal transmission), examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. The disk storage device may be implemented as any type of magnetic or optical storage device, including a hard disk drive, a recordable and/or rewriteable compact disc (CD), any type of a digital versatile disc (DVD), and the like. The computing system <NUM> can also include a mass storage media device (storage media) <NUM>.

The computer-readable media <NUM> provides data storage mechanisms to store the device data <NUM>, as well as various device applications <NUM> and any other types of information and/or data related to operational aspects of the computing system <NUM>. For example, an operating system <NUM> can be maintained as a computer application with the computer-readable media <NUM> and executed on the processors <NUM>. The device applications <NUM> may include a device manager, including any form of a control application, software application, signal-processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, and so on. Using the ultrasonic sensor <NUM>, the computing system <NUM> can detect user presence.

Claim 1:
A method of operating an ultrasonic sensor, the method comprising:
transmitting (<NUM>) an ultrasonic transmit signal (<NUM>-<NUM>);
receiving (<NUM>) a first ultrasonic receive signal (<NUM>-<NUM>) using a first transducer (<NUM>-<NUM>) of the ultrasonic sensor, the first ultrasonic receive signal comprising a version of the ultrasonic transmit signal;
detecting (<NUM>) that a second transducer (<NUM>-M) of the ultrasonic sensor is occluded, wherein
detecting that the second transducer is occluded comprises:
failing to receive, by the second transducer, a second ultrasonic receive signal (<NUM>-M) that includes a version of the ultrasonic transmit signal; or
receiving, by the second transducer, a second ultrasonic receive signal and determining that an amplitude of a version of the ultrasonic transmit signal in the second ultrasonic receive signal is less than a detection threshold;
characterised in that the method further comprises:
responsive to receiving the first ultrasonic receive signal using the first transducer and detecting that the second transducer is occluded, determining (<NUM>) that an object (<NUM>) is proximate to the second transducer.