A variety of devices exist which utilize ultrasonic sensing to detect the presence of moving and/or stationary objects in their operating environment. Some non-inclusive examples include personal computers, electronic door locks, and robotic vacuums. Some devices such as personal computers and electronic door locks may be stationary much of the time. Such stationary or mostly non-moving objects may use ultrasonic sensing to detect a potential approaching user in their operating environment so that they may, for example, begin exiting a power saving mode responsive to detecting a potential approaching user. Other devices, such as robotic vacuums or other vehicles, which move about such as on floors or other surfaces may use ultrasonic sensing to detect for moving and/or stationary objects in their operating environment to facilitate avoidance of such detected objects. It should be appreciated that these examples are only a small subset of the devices that may be utilizing ultrasonic signals for sensing in an operating environment such as a building, room, etc. Increasingly, because of this widespread use of ultrasonic sensors, there may be two or more devices emitting ultrasonic signals that may be received both by the emitting devices and by one or more other devices which share the same operating environment.
The accompanying drawings, which are incorporated in and form a part of the Description of Embodiments, illustrate various embodiments of the subject matter and, together with the Description of Embodiments, serve to explain principles of the subject matter discussed below. Unless specifically noted, the drawings referred to in this Brief Description of Drawings should be understood as not being drawn to scale. Herein, like items are labeled with like item numbers.
Reference will now be made in detail to various embodiments of the subject matter, examples of which are illustrated in the accompanying drawings. While various embodiments are discussed herein, it will be understood that they are not intended to limit to these embodiments. On the contrary, the presented embodiments are intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope the various embodiments as defined by the appended claims. Furthermore, in this Description of Embodiments, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present subject matter. However, embodiments may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the described embodiments.
As described previously, because of the widespread use of ultrasonic sensors, there may be two or more devices emitting ultrasonic signals that may be received both by the emitting device and by one or more other ultrasonic sensing devices which share the same operating environment. For example, a first device may sense signals from a second device and in some situations such as when the two devices operate at similar sensing cycle timing that overlaps transmit and receive periods or else drifts slightly relative to one another, the first device may interpret the received signals from the second device as a moving object—even if both devices are stationary. Such a false detection of a moving object may trigger the first device to take an unnecessary action such as powering up due to falsely interpreting a user is coming near or is present, or even taking an evasive maneuver due to falsely interpreting a collision with a moving object is imminent. Herein techniques are described replacing a regular fixed interval sensing cycles/measurement periods of an ultrasonic sensor with randomized sensing cycles/measurement periods which, overtime result in the same number of measurements as would be made during fixed (non-randomized) measurement periods over the same time span, because it is randomized around the fixed measurement period of the sensor. As described, this randomization facilitates coexistence of two or more ultrasonic sensors in a shared operating environment in which transmissions from the ultrasonic sensors can be received by other ultrasonic sensors in the environment. What is meant by “coexistence” is that, by virtue of the randomization of the sensing by an ultrasonic sensor, false detections of moving objects due to receipt of ultrasonic signals transmitted by other ultrasonic sensors will be either eliminated or reduced to the point they are nearly eliminated. For example, rather than having several false detections of a moving object per hour a device may go several hours (or longer) without a single false detection of a moving object. In this manner, problems caused by interference from neighboring ultrasonic sensors operating in the same environment is drastically reduced.
Discussion begins with a description of notation and nomenclature. Discussion then shifts to description of some block diagrams of example components of some example devices which utilize ultrasonic sensor. Some example depictions of a devices, in the form notebook computers, are discussed. Conventional sensing results are depicted to show how coexistence of devices with ultrasonic sensors can be frustrated, when one device senses ultrasonic signals transmitted by another. A high-level flowchart of the technique of randomized time-hopping of ultrasonic measurements is described, as well as a state diagram for determining an operating state of a device relative to detected presence of a potential user. Examples of fixed and randomized sensing cycles are depicted and described followed by examples of operation of ultrasonic sensing with randomization of sensing cycles is described. Finally, an example method of operating an ultrasonic transducer to facilitate coexistence with other ultrasonic sensors in the operating environment of the ultrasonic transducer, is described in accordance with various embodiments.
Some portions of the detailed descriptions which follow are presented in terms of procedures, logic blocks, processes, modules and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, module, or the like, is conceived to be one or more self-consistent procedures or instructions leading to a desired result. The procedures are those requiring physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in an electronic device/component.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the description of embodiments, discussions utilizing terms such as “controlling,” “randomizing,” “directing,” “filtering,” “detecting,” “emitting,” “transmitting,” “receiving,” “subtracting,” “selecting,” “low-pass filtering,” “median filtering,” “random sample consensus filtering,” “adjusting,” “employing,” “determining,” or the like, refer to the actions and processes of an electronic device or component such as: a host processor, a sensor processing unit, a sensor processor, a digital signal processor or other processor, a memory, a sonic sensor (e.g., an ultrasonic sensor/transducer), a device utilizing an ultrasonic sensor/transducer, some combination thereof, or the like. The electronic device/component manipulates and transforms data represented as physical (electronic and/or magnetic) quantities within the registers and memories into other data similarly represented as physical quantities within memories or registers or other such information storage, transmission, processing, or display components.
Embodiments described herein may be discussed in the general context of processor-executable instructions residing on some form of non-transitory processor-readable medium, such as program modules or logic, executed by one or more computers, processors, or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.
In the figures, a single block may be described as performing a function or functions; however, in actual practice, the function or functions performed by that block may be performed in a single component or across multiple components, and/or may be performed using hardware, using software, or using a combination of hardware and software. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure. Also, the example electronic device(s) described herein may include components other than those shown, including well-known components.
The techniques described herein may be implemented in hardware, or a combination of hardware with firmware and/or software, unless specifically described as being implemented in a specific manner. Any features described as modules or components may also be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a non-transitory computer/processor-readable storage medium comprising computer/processor-readable instructions that, when executed, cause a processor and/or other components of a computer or electronic device to perform one or more of the methods described herein. The non-transitory processor-readable data storage medium may form part of a computer program product, which may include packaging materials.
The non-transitory processor-readable storage medium (also referred to as a non-transitory computer-readable storage medium) may comprise random access memory (RAM) such as synchronous dynamic random access memory (SDRAM), read only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, other known storage media, and the like. The techniques additionally, or alternatively, may be realized at least in part by a processor-readable communication medium that carries or communicates code in the form of instructions or data structures and that can be accessed, read, and/or executed by a computer or other processor.
The various illustrative logical blocks, modules, circuits and instructions described in connection with the embodiments disclosed herein may be executed by one or more processors, such as host processor(s) or core(s) thereof, digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), application specific instruction set processors (ASIPs), field programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. The term “processor,” as used herein may refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated software modules or hardware modules configured as described herein. Also, the techniques could be fully implemented in one or more circuits or logic elements. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a plurality of microprocessors, one or more microprocessors in conjunction with an ASIC or DSP, or any other such configuration or suitable combination of processors.
In various example embodiments discussed herein, a chip is defined to include at least one substrate typically formed from a semiconductor material. A single chip may, for example, be formed from multiple substrates, where the substrates are mechanically bonded to preserve the functionality. Multiple chip (or multi-chip) includes at least two substrates, wherein the two substrates are electrically connected, but do not require mechanical bonding.
A package provides electrical connection between the bond pads on the chip (or for example a multi-chip module) to a metal lead that can be soldered to a printed circuit board (or PCB). A package typically comprises a substrate and a cover. An Integrated Circuit (IC) substrate may refer to a silicon substrate with electrical circuits, typically CMOS circuits but others are possible and anticipated. A MEMS substrate provides mechanical support for the MEMS structure(s). The MEMS structural layer is attached to the MEMS substrate. The MEMS substrate is also referred to as handle substrate or handle wafer. In some embodiments, the handle substrate serves as a cap to the MEMS structure.
Some embodiments may, for example, comprise one or more sonic sensors. This sensor may be any suitable sonic sensor operating in any suitable sonic range. For example, in some embodiments, the sonic sensor may be an ultrasonic sensor which utilizes a MEMs ultrasonic transducer. In some embodiments, the sonic sensor may include digital signal processor (DSP) which may be disposed as a part of an ASIC which may be integrated into the same package as a transducer. One example of such an ultrasonic sensor which may be utilized with various embodiments, without limitation thereto, is the CH101 ultrasonic range sensor and/or the CH201 long-range ultra-low-power integrated MEMS ultrasonic time-of-flight range sensor, both available from Chirp Microsystems, a TDK Group Company, of Berkley, California. The CH101 and the CH201 are only two examples of ultrasonic sensors, other types and/or brands of ultrasonic sensors may be similarly utilized.
Some embodiments may, for example, comprise one or more motion sensors along with one or more ultrasonic sensors. For example, an embodiment with one or more ultrasonic sensors may additionally be coupled with a 9-axis motion sensing device (e.g., an accelerometer, a gyroscope, and a magnetometer or other compass technology, which each provide a measurement along three axes that are orthogonal relative to each other). In another embodiment, one or more ultrasonic sensors may be coupled with a 6-axis motion sensing device (e.g., a three-axis accelerometer and a three-axis gyroscope). Other embodiments may, for example, comprise one or more ultrasonic sensors coupled with motion sensors that form a 10-axis device (e.g., an accelerometer, gyroscope, compass, and pressure sensor). Other embodiments may not include all the sensors or may provide measurements along one or more axes. Some or all of the sensors may be MEMS sensors. Some or all of the sensors may be incorporated in a sensor processing unit along with a sensor processor and disposed in a single semiconductor package.
In some embodiments, for example, one or more sensors may be formed on a first substrate. Various embodiments may, for example, include solid-state sensors and/or any other type of sensors. The electronic circuits in a sensor processing unit may, for example, receive measurement outputs from the one or more sensors. In various embodiments, the electronic circuits process the sensor data. The electronic circuits may, for example, be implemented on a second silicon substrate. In some embodiments, the first substrate may be vertically stacked, attached and electrically connected to the second substrate in a single semiconductor chip, while in other embodiments, the first substrate may be disposed laterally and electrically connected to the second substrate in a single semiconductor package, such as a single integrated circuit.
Attention is directed to
The host processor 110 may, for example, be configured to perform the various computations and operations involved with the general function of device 100A (e.g., sending commands to move, steer, avoid obstacles, and operate/control the operation of tools). Host processor 110 can be one or more microprocessors, central processing units (CPUs), DSPs, general purpose microprocessors, ASICs, ASIPs, FPGAs or other processors which run software programs or applications, which may be stored in host memory 111, associated with the general and conventional functions and capabilities of device 100A.
Communications interface 105 may be any suitable bus or interface, such as a peripheral component interconnect express (PCIe) bus, a universal serial bus (USB), a universal asynchronous receiver/transmitter (UART) serial bus, a suitable advanced microcontroller bus architecture (AMBA) interface, an Inter-Integrated Circuit (I2C) bus, a serial digital input output (SDIO) bus, or other equivalent and may include a plurality of communications interfaces. Communications interface 105 may facilitate communication between SPU 120 and one or more of host processor 110, host memory 111, transceiver 113, ultrasonic sensor 150, motion sensor(s) 160 (when included).
Host memory 111 may comprise programs, modules, applications, or other data for use by host processor 110. In some embodiments, host memory 111 may also hold information that that is received from or provided to sensor processing unit 120 (see e.g.,
Transceiver 113, when included, may be one or more of a wired or wireless transceiver which facilitates receipt of data at device 100A from an external transmission source and transmission of data from device 100A to an external recipient. One example of an external transmission source/external recipient may be a base station to which device 100A returns for charging, maintenance, docking, etc. By way of example, and not of limitation, in various embodiments, transceiver 113 comprises one or more of: a cellular transceiver, a wireless local area network transceiver (e.g., a transceiver compliant with one or more Institute of Electrical and Electronics Engineers (IEEE) 802.11 specifications for wireless local area network communication), a wireless personal area network transceiver (e.g., a transceiver compliant with one or more IEEE 802.15 specifications (or the like) for wireless personal area network communication), and a wired a serial transceiver (e.g., a universal serial bus for wired communication).
Ultrasonic sensor 150 is typically a transducer but may include a dedicated ultrasonic transmitter and a separate dedicated ultrasonic receiver. In some embodiments, ultrasonic sensor 150 operates in the ultrasonic frequency range between 40 kHz and 200 kHz. Of course, other ultrasonic ranges are anticipated and usable. Ultrasonic sensor 150 is configured to transmit ultrasonic signals and receive ultrasonic returned signals. Returned signals include those that reflect from moving or stationary objects within the range (referred to herein as the vicinity) of the ultrasonic sensor 150 and thus within the vicinity of a device 100A which includes the ultrasonic sensor 150. It should be appreciated that embodiments may similarly include a sonic transducer which operates in the acoustic sound range, the infrasound, and or the ultrasound range.
Motion sensor(s) 160, when included, may be implemented as MEMS-based motion sensors, including inertial sensors such as a gyroscope 161 or accelerometer 163, or an electromagnetic sensor such as a Hall effect or Lorentz field magnetometer 165. In some embodiments, at least a portion of the motion sensors 160 may also, for example, be based on sensor technology other than MEMS technology (e.g., CMOS technology, etc.). As desired, one or more of the motion sensors 160 may be configured to provide raw data output measured along three orthogonal axes or any equivalent structure.
Attention is directed to
Sensor processor 130 can be one or more microprocessors, CPUs, DSPs, general purpose microprocessors, ASICs, ASIPs, FPGAs or other processors that run software programs, which may be stored in memory such as internal memory 140 (or elsewhere), associated with the functions of SPU 120. In some embodiments, one or more of the functions described as being performed by sensor processor 130 may be shared with or performed in whole or in part by another processor of a device 100B, such as host processor 110.
Internal memory 140 can be any suitable type of memory, including but not limited to electronic memory (e.g., read only memory (ROM), random access memory (RAM), or other electronic memory). Internal memory 140 may store algorithms, routines, or other instructions for instructing sensor processor 130 on the processing of data output by one or more of the motion sensors 160 and/or one or more ultrasonic sensors 150. In some embodiments, internal memory 140 may store one or more modules which may be algorithms that execute on sensor processor 130 to perform a specific function. Some examples of modules may include, but are not limited to: statistical processing modules, motion processing modules, filtering modules, state detection modules, and/or decision-making modules.
Ultrasonic sensor 150 is typically a transducer but may include a dedicated ultrasonic transmitter and a separate dedicated ultrasonic receiver. In some embodiments, ultrasonic sensor 150 operates in the ultrasonic frequency range between 40 kHz and 200 kHz. Of course, other ultrasonic ranges are anticipated and usable. Ultrasonic sensor 150, in an ultrasonic transducer embodiment, is configured to transmit ultrasonic signals and receive ultrasonic returned signals. Returned signals include those that reflect from moving or stationary objects within the range (referred to herein as the vicinity) of the ultrasonic sensor 150 and thus within the vicinity of a device 100B which includes the ultrasonic sensor 150. It should be appreciated that embodiments may similarly include a sonic transducer which operates in the acoustic sound range, the infrasound, and or the ultrasound range.
In some embodiments, ultrasonic sensor 150 is an ultrasonic transducer, such as a PMUT (piezoelectric micromachined ultrasonic transducer). An ultrasonic sensor 150 may be large or small, depending on the application and the space available. In some embodiments, ultrasonic sensor 150 may be a MEMS device and may be very small, such as having a facing surface of less than 4 mm by 4 mm by 1.5 mm. In some embodiments, ultrasonic sensor 150 may be a SOC (system on a chip) which includes a DSP. In some embodiments, the SOC packaging of ultrasonic sensor 150 comprises sensor processing unit 120 and includes sensor processor 130 and internal memory 140.
Motion sensor(s) 160, when included, may be implemented as MEMS-based motion sensors, including inertial sensors such as a gyroscope 161 or accelerometer 163, or an electromagnetic sensor such as a Hall effect or Lorentz field magnetometer 165. In some embodiments, at least a portion of the motion sensors 160 may also, for example, be based on sensor technology other than MEMS technology (e.g., CMOS technology, etc.). As desired, one or more of the motion sensors 160 may be configured to provide raw data output measured along three orthogonal axes or any equivalent structure.
Each sensing cycle includes a transmit period TX during which an ultrasonic pulse (represented by a corresponding upward directed arrow) is transmitted, a receive period RX during which the ultrasonic transducer receives ultrasonic signals, and a wait period WT when the ultrasonic sensor is doing nothing but waiting to start the next sensing cycle. At a fixed rate, the sensing cycles are typically at a fixed and repeated length which may vary slightly based on a drift in timing but is otherwise uniform. Within a sensing cycle, the receive period (RX) and the wait period (WT) together form a fixed length listening window. Sensing cycle 300-1 comprises transmit period TX1-1, receive period RX1-1, and wait period WT1-1. Sensing cycle 300-2 comprises transmit period TX2-1, receive period RX2-1, and wait period WT2-1. Sensing cycle 300-3 comprises transmit period TX3-1, receive period RX3-1, and wait period WT3-1. Sensing cycle 300-4 comprises transmit period TX4-1, receive period RX4-1, and wait period WT4-1. Sensing cycle 300-5 comprises transmit period TX5-1, receive period RX5-1, and wait period WT5-1.
With reference to
A timing diagram 401 for the transmissions from ultrasonic sensor 150-2 is provided. The sensing cycles in timing diagram 401 are not labeled, however they are fixed in length and similar in frequency to the cycles 300-1, 300-2, 300-3, 300-4, and 300-5 of ultrasonic sensor 150-1. A problem which conventionally frustrates coexistence is that they are drifting slightly earlier in time, as shown by the slight leftward drift of the TX arrows in timing diagram 401 relative to the transmit periods of timing diagram 301.
With reference to
At 510 of flowchart 500, sensing is switched from a fixed rate with fixed sensing cycles to a blind time-hopping sensing where the overall length of sensing cycles (and particularly the length of a listening window within a sensing cycle) is randomized (i.e., time-hopped in a blind, unscheduled fashion) from sensing cycle to sensing cycle. The randomization occurs within a defined range using available techniques for randomizing in defined units (e.g., 1 ms units over a 20 ms range) and, over time, results in the same number or substantially the same number of sensing cycles as sensing with a fixed rate. By substantially, what is meant is that over a long enough period such as 10 to 30 seconds, the difference of the number of sensing cycles between fixed and randomized sensing cycles may be only a few percent or even less than a single percent; a difference which is, essentially, negligible. In other embodiments, blind-time hopping may already be enabled or be enabled at all times, in which case procedure 510 may be superfluous.
At 520 of flowchart 500, measurements received using the randomized sensing cycles are filtered or otherwise cleaned to remove noise and to prepare the measurements for object detection algorithms. This results in filtered measurements. A variety of filters may be used, some examples of which include but are not limited to: a low pass filter, a median filter, and/or a random sample consensus filter. When using a median filter, for example, an odd number of samples is used such as 3, 5, 7, 11, etc., and the number of samples is shorter than the number of samples acquired during a receive period of a randomized sensing cycle.
At 530 of flowchart 500, detection for moving objects occurs. The detection may be accomplished using a detection algorithm, many of which are known in the art, which is repurposed to process filtered samples acquired by the randomized/blind time-hopping sampling rather than by fixed sampling. A difference is that measurements acquired by the randomized sensing cycles inherently remove some sensed peaks and patterns that would appear in measurements from fixed sensing cycles and which might trigger the false detection of an object. In particular, precessing patterns associated with receipt of drifting ultrasonic transmissions of another ultrasonic sensor are disrupted by the randomized sensing cycles.
At 540 of flowchart 500, the method outputs information about detected moving objects. This information about detected moving objects may be output with information regarding static targets (e.g., non-moving objects such as walls, tables, chairs) that are static in the vicinity of an ultrasonic sensor 150 removed or filtered out. In some embodiments, this information about detected moving objects may be provided as an input to a state machine which can analyze detected moving objects to determine a mode in which a device 100 (e.g., device 100-1) should be operating.
Upon being informed of these states by state machine 600 a device 100 can respond by initiating an appropriate mode of operation. For example, in some embodiments, in state 3 device 100 enters or remains in a sleep or low power mode in state; in state 1 a device initiates or remains in semi-powered-up mode with a screen saver operating; and in state 2 a device initiates or remains in a fully powered mode with a log-in screen presented, a home screen presented, etc. In other embodiments, other modes of operation of device 100 may be assigned to one or more of the states identified by state machine 600.
Transitions (t) from state (I) to state (J) are labeled are depicted with directional arrows and labeled tIJ. For example, a transition from state 0 to state 1 is depicted with an arrow pointing from state 0 to state 1 and labeled t01. In a like fashion transition from: state 1 to state 0 is labeled t10; transition from state 1 to state 2 is labeled t12; transition from state 2 to state 1 is labeled t21; transition from state 0 to state 2 is labeled t02; and transition from state 2 to state 0 is labeled t20. Transition from the “initial” state (3) to any of the operational states 0, 1, or 2 is illustrated only by a directional arrow.
Transitions between states are based on conditions computed from the energy in close range (either leaving or approaching) in measured samples. For example, the amplitude variances over a plurality of samples, such as the last six frames (e.g., last 6 sensing cycles), may be summed and compared to a threshold which indicates a transfer from one state to another state should take place. Other conditions which may additionally or alternatively be used to determine transitions between states include a number of mobile targets detected, the range to the closest mobile target (which may be referred to as the range index), variance of the amplitude over time (e.g., increasing, declining, not changing). When a condition of the various conditions is met for a transfer between states during a sensing cycle, a transition counter is incremented. A transition takes place when the transition counter exceeds a pre-established threshold. The counter ensures that a transition between states is only triggered if/when the conditions hold for several sensing frames.
Transition from the “initial” state 3 to any of the operational states 0, 1, or 2 may occur to any of states 0, 1, or 2 based on energy detected and/or moving objects detected satisfying a criterion for a particular state. Alternatively, in some embodiments, the transition from the “initial” state 3 to one of states 1, 2, or 3 may be random upon startup of state machine 600 or to a certain preselected state as a default after startup of state machine 600.
To initiate a transition from “no user” state 0 to “user present” state 2 (i.e., t02) the state machine 600 monitors close range energy in ultrasonic measurements. When close range energy is greater than a preset energy threshold for a preset number of measurement frames (e.g., 8 frames, 10 frames, 12 frames) then state transition t02 is triggered.
To initiate a transition from “user present” state 2 to “no user” state 0 (transition t20) or to “user around” (transition t21) state machine 600 monitors close range energy in ultrasonic measurements. When close range energy is less than a preset energy threshold or is no energy for a preset number of measurement frames (e.g., 8 frames, 10 frames, 12 frames, etc.) then a state change transition is triggered. State change is transition t21 occurs when one or more mobile targets are detected in a distance associated with the “user around” state, otherwise state transition t20 is triggered because state machine 600 has determined there is “no user” either present (close to device 100) or around (farther away than “present” but still in the vicinity of device 100).
To initiate a transition from “user around” state 1 to “no user” state 0 (transition t10) state machine 600 monitors close range energy in ultrasonic measurements. When close range energy is less than a preset energy threshold for a preset number of measurement frames (e.g., 8 frames, 10 frames, 12 frames, etc.) or no mobile target is detected for a certain number of measurement frames (e.g., 3 frames, 4 frames, 5 frames, etc.), then state transition t10 is triggered. As can be seen, in some embodiments the threshold number of frames for no moving objects detected is lower than the threshold number of frames for low energy detected. In some embodiments, a combination of no moving objects and energy below a threshold for a certain number of measurement frames may trigger transition t10.
To initiate a transition from “user around” state 1 to “user present” state 2 (transition t12) state machine 600 monitors close range energy in ultrasonic measurements. When close range energy is greater than a preset energy threshold for a preset threshold number of measurement frames (e.g., 8 frames, 10 frames, 12 frames, etc.), then state transition t12 is triggered.
Embodiments described herein modify the overall length of a fixed sample by randomly adding or subtracting delay (d) from the existing fixed waiting period 710 which is part of the listening window 706. Dashed line 730 shows the maximum range that the fixed length 702 of sensing cycle 300 can be randomly adjusted upward/longer by adding delay (shown as +d) to the fixed length of the fixed waiting period 710; while dashed line 720 shows the maximum range that the fixed length 702 of sensing cycle 300 can be adjusted downward/shorter by subtracting delay (shown as −d) from the fixed waiting period 710. A randomized waiting period of a listening window has a maximum and minimum length. The maximum length is generally at or approximately double the length of the fixed waiting period 710 as shown in
Although
Attention is directed to
Attention is directed to
In an embodiment where the fixed receive period 708 is 18 ms, the fixed transmit period is 0.375 ms, and the overall sample period is 100 ms, subtraction shows the fixed wait period 710 to by ˜81 ms and thus the max/min range for a randomized wait period 810 is approximately +/−81 ms relative to the fixed waiting period 710. In some embodiments, the randomization may be in discrete increments such as 1 ms, meaning in this example it can randomly be varied in 1 ms increments between being 0 ms (minimum) to 162 ms (maximum). The maximum range does not have to be utilized for randomization, instead a shorter +/− range such as +/−19 ms of fixed wait period 710 may be used as the range for randomizing a wait period 810. It has been empirically determined that the shortest range for randomization which provides a good probability of prevention of overlap of echo peaks between ultrasonic sensors is about +/−3 ms of the fixed wait period. Smaller ranges may be used, but probability of contention via overlap of echo peaks increases, potentially to an unacceptable level, as ranges decrease further. Likewise, when smaller ranges than +/−3 ms are used the ability to disrupt patterns of precession from drifting ultrasonic signals is diminished.
In other embodiments the maximum range of the randomized listening window may be different depending on the fixed sensing cycle rate around which it is based. For example, consider an ultrasonic sensor 150 with a fixed cycle rate of 50 ms with the same fixed receive period of 18 ms and the same fixed transmit period of 0.375 ms described above. By subtraction of the fixed transmit period and the fixed receive period from the length of the fixed cycle, the fixed wait period would be ˜31 ms. In this example a randomized wait period could be randomized in increments (such as 1 ms)+/−31 ms from the fixed length wait period (i.e., the randomized wait period could range in randomized increments from 0 ms to 62 ms). Because the randomization in increments (e.g., 1 ms increments) is balanced within the same range above and below the fixed wait period (e.g., a range of +/−3 ms, +/−27 ms, +/−31 ms, etc.), over time the randomized sensing cycle rate will average out to the same number of sensing cycles per second as the fixed sensing cycle rate.
In another example, consider an ultrasonic sensor 150 with a fixed sensing cycle rate of 100 ms with a fixed receive period of 48 ms and a fixed transmit period of 0.8 ms described above. By subtraction of the fixed transmit period and the fixed receive period from the sensing cycle rate, the fixed wait period would be ˜51 ms. In this example a randomized wait period could be randomized in increments (such as 1 ms)+/−51 ms from the fixed length wait period (i.e., the randomized wait period could range in randomized increments from 0 ms to 102 ms). Because the randomization is balanced with the same range above and below the fixed wait period (e.g., +/−3 ms, +/−27 ms, +/−51 ms), over time the randomized sensing cycle rate will average out to the same as the fixed sensing cycle rate.
It should be appreciated that in some embodiments there may be other fixed periods in a sensing cycle, such as a sleep period between the transmit and receive period. Inclusion of other fixed periods may reduce the overall range available for randomizing the wait period of the listening window.
Each sensing cycle 800 includes a fixed transmit period TX during which an ultrasonic pulse (represented by a corresponding upward directed arrow) is transmitted, a fixed receive period RX during which the ultrasonic transducer receives ultrasonic signals, and a randomized wait period WT when the ultrasonic sensor is doing nothing but waiting to start the next sensing cycle. Within a sensing cycle, the receive period RX and the randomized wait period WT together form a random length listening window in the manner described in conjunction with
With reference to
Each of these measurement diagrams (1010, 1020, 1030, 1040, and 1050) depicts samples over time on its x-axis and amplitude on its y-axis. The same five sensing cycles 800 (800-1, 800-2, 800-3, 800-4, and 800-5) from
A timing diagram 401 for the transmissions from ultrasonic sensor 150-2 is provided. The sensing cycles in timing diagram 401 are not labeled, however they are fixed in length as was previously described in
In this manner, the precessing problem of conventional fixed rate sensing cycles, illustrated in
With reference to
With continued reference to
In various embodiments, a listening window (e.g., 806) of the listening windows comprises the fixed portion (e.g., receive period 708) and a second portion (e.g., wait period 810) and wherein the randomizing, by the processor, an overall length of each listening window of the listening windows comprises: adjusting the second portion plus or minus by a random delay period (e.g., in discrete increments within a defined range of +/−d), wherein a minimum adjusted time length and a maximum adjusted time length of the second portion are defined by a sensing cycle rate of the ultrasonic transducer. That is, as a function of the sensing cycle rate, there are fixed portions of a sensing cycle which cannot be omitted and there is a fixed amount of waiting time in a sensing cycle that is available for randomizing up/down in the manner described herein. More particularly, each listening window (e.g., 806) of the listening windows in a plurality of sensing cycles comprises the fixed portion (e.g., receive period 708) and a second portion (e.g., wait period 810) which is adjusted plus or minus by a random delay period “d”, and wherein a minimum adjusted time length and a maximum adjusted time length of the second portion are defined by a sensing cycle rate of the ultrasonic transducer. That is, when d is set to be equal to a wait period associated with a sensing cycle in a fixed sensing cycle rate, then the maximum value of a waiting period with d added would be twice the delay period of the fixed rate's sensing cycle. Similarly, when d is set to be equal to a wait period associated with a sensing cycle in a fixed rate, then the minimum value of a waiting period with d subtracted would be no delay period.
In this fashion, the maximum range of the random delay period (e.g., +/−d) is plus or minus a value of d found by subtracting both a time length of an emitted pulse of the ultrasonic transducer and a second time length of the fixed portion of the listening window from a period associated with one cycle at the fixed sensing cycle rate of the ultrasonic transducer. By way of example, consider an ultrasonic sensor 150 with a fixed sensing cycle rate of 100 ms with a fixed receive period of 40 ms and a fixed transmit period of 1 ms. By subtraction of the fixed transmit period and the fixed receive period from the sensing cycle rate, the fixed wait period, and thus the value of d, would be 59 ms.
With continued reference to
With continued reference to
For example, and with reference to
With continued reference to
For example, with reference to the detection of a moving of an object/human 205 in diagram 1140 from peaks 911, 921, 931, 941, and 951, state machine 600 would determine in the manner previously described whether this moving object triggered transition to state 1 (user around) or to state 2 (user present). Based on the determined state, a processor such as host processor 110 or sensor processor 130, can either direct device 100-1 to take a predetermined action/switch to a certain operational mode or pass the state determination on to device 100-1 so that other processors may determine an action, mode, and/or response of device 100-1 with respect to the determined state.
The examples set forth herein were presented in order to best explain, to describe particular applications, and to thereby enable those skilled in the art to make and use embodiments of the described examples. However, those skilled in the art will recognize that the foregoing description and examples have been presented for the purposes of illustration and example only. The description as set forth is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. Reference throughout this document to “one embodiment,” “certain embodiments,” “an embodiment,” “various embodiments,” “some embodiments,” or similar term means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of such phrases in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics of any embodiment may be combined in any suitable manner with one or more other features, structures, or characteristics of one or more other embodiments without limitation.
This application claims priority to and benefit of co-pending U.S. Provisional Patent Application No. 63/354,601, filed on Jun. 22, 2022, entitled “Method to Reduce False Positive Detections on Ultrasound Data Due to Presence of Other Ultrasound Sources,” by Daniela Hall, having attorney docket number IVS-1047-PR, and assigned to the assignee of the present application, the disclosure of which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63354601 | Jun 2022 | US |