A variety of devices exist which utilize sonic sensors (e.g., sonic emitters and receivers, or sonic transducers). By way of example, and not of limitation, a device may utilize one or more sonic sensors to track the location of the device in space, to detect the presence of objects in the environment of the device, and/or to avoid objects in the environment of the device. Such sonic sensors include transmitters which transmit sonic signals, receivers which receive sonic signals, and transducers which both transmit sonic signals and receive sonic signals. Many of these sonic transducers emit signals in the ultrasonic range, and thus may be referred to as ultrasonic transducers. Piezoelectric Micromachined Ultrasonic Transducers (PMUTs), which may be air-coupled, are one type of sonic transducer, which operates in the ultrasonic range. The sonic transducer(s) may be part of a microelectromechanical system (MEMS). Sonic transducers, including ultrasonic transducers, can be used for a large variety of sensing applications such as, but not limited to: virtual reality controller tracking, presence detection, object detection/location, and object avoidance. For example, drones, robots, security systems or other devices may use ultrasonic transducers and/or other sonic transducers in any of these or numerous other applications.
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 of 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.
Sonic transducers, which include ultrasonic transducers, emit a pulse (e.g., an ultrasonic sound) and then receive returned signals (i.e., echoes) after the ultrasonic waves from the emitted sound are reflected of objects or persons. In this manner, the returned signals correspond to the emitted pulse. Consider a transducer which has part of its duty cycle devoted to emitting a pulse or other signals and another part of its duty cycle devoted to receiving returned signals which are echoes of the emitted pulse/signals. In such a transducer, the returned signals can be used to detect the presence and/or location of objects from which the emitted pulse reflects and then returns to the transducer as a returned signal. In other instances, a first ultrasonic transducer may emit a pulse and the echoing returned signals are received by a second ultrasonic transducer. In some instances ultrasonic transducers have difficulty detecting moving objects, such as the presence of a person walking into a room, in an indoor sensing environment. This difficulty is due to a variety of factors which cause natural variability in the returned signals (i.e., echoes) received by an ultrasonic transducer in an indoor environment; factors which make it hard to know with certainty what object has reflected a returned signal. Some non-limiting examples of such factors may include, but are not limited to, one or more of: sensor noise, temperature variations, air flow, and occasional displacement of objects in the room where the ultrasonic transducer is sensing. In an indoor environment, the returned signals received by an ultrasonic transducer naturally have a good amount of variability for reasons previously mentioned. Because this variation in returned signals can be very different over different periods, setting a general threshold to detect motion or to detect presence of a new object results in frequent false positives and/or false negatives in such detection.
Herein, adaptive background learning techniques are described which allow ultrasonic transducers to overcome issues which detract from their use in detection of the presence of new/moving objects in an indoor space such as a room. Through the use of adaptive background learning techniques described herein, received returned signals from non-moving objects in a sensed environment (e.g., an indoor space such as a room in a building) and numerous unwanted signal contributions which cause wide variability in the received returned signals can be removed and/or reduced to create normalized data which is adapted to a constant background of an indoor space. Because the described techniques remove and/or reduce variability in returned signals caused by other aspects besides the presence of a moving object, the techniques allow the returned signals from a moving object to be more readily discerned in the normalized data, so that the presence of the moving object (i.e., a human, an animal, a vehicle, robot, etc.) can be detected with greater ease. These techniques also allow for automatic adaptation to a changed background if the sensed environment changes (e.g., furniture is repositioned in a room). In some instances, the described techniques facilitate smaller ultrasonic transducers being used to replace or complement comparatively larger passive infrared sensors in devices which perform motion detection, such as in indoor environments. This may reduce the size of the devices and/or improve the overall quality of motion detection of the devices.
Herein, a variety of methods, sonic transducers, devices, and techniques are described for detecting presence of a moving object with an ultrasonic transducer. Although this technology is described herein with reference to ultrasonic transducers, it is broadly applicable to any sonic transducer which might be similarly utilized. In the detailed description, the technology is described with examples in which sonic pulses are emitted and received by a single transducer, however the technology may be implemented with a transducer which emits sonic pulses and one or more other transducers which receive returned signals that result from the emissions. Though the sensed environment where detection of moving objects takes place is often referred to as a room or indoor space in this detailed description, it should be appreciated that the techniques described are applicable to other environments.
Discussion begins with a description of notation and nomenclature. Discussion then shifts to description of some block diagrams of example components of an example devices and a sensor processing unit which may utilize an ultrasonic transducer (or other sonic transducer). The device may be any type of device which utilizes sonic sensing, for example any device which uses ultrasonic transducers may employ the techniques and methods described herein. Discussion then moves to description of a device using a sonic transducer to detect for objects in an environment and within a distance range of interest from the ultrasonic transducer. Returned signals from an emitted pulse are discussed along with methods for utilizing the returned signals to detect a moving object in an environment of the sonic transducer. Finally, operation of the device, sensor processor, and/or components thereof are described in conjunction with description of a method of detecting presence of a moving object with an ultrasonic transducer.
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 “accessing,” “calculating,” “comparing,” “detecting,” “deteriorating,” “determining,” “employing,” “estimating,” “normalizing,” “obtaining,” “pausing,” “quantifying,” “receiving returned signals from an ultrasonic transducer,” “removing,” or the like, may 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 (DSP), an application specific integrated circuit (ASIC), an application specific instruction set processors (ASIP), a field programmable gate arrays (FPGA), a controller or other processor, a memory, 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, DSPs, general purpose microprocessors, ASICs, ASIPs, FPGAs, sensor processors, microcontrollers, or other equivalent integrated or discrete logic circuitry. The term “processor” or the term “controller” as used herein may refer to any of the foregoing structures, any other structure suitable for implementation of the techniques described herein, or a combination of such structures. 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 a sonic transducer. The sonic transducer may be an ultrasonic transducer. This ultrasonic transducer may operate in any suitable ultrasonic range. In some embodiments, the ultrasonic transducer may be or include a Piezoelectric Micromachined Ultrasonic Transducers (PMUT) which may be an air coupled PMUT. In some embodiments, the ultrasonic transducer may include a DSP or other controller or processor which may be disposed as a part of an ASIC which may be integrated into the same package as the ultrasonic transducer. Such packaged embodiments may be referred to as either an “ultrasonic transducer” or an “ultrasonic transducer device.” In some embodiments, the ultrasonic transducer (and any package of which it is a part) may be included in one or more of a sensor processing unit and/or a device which includes a host processor or other controller or control electronics.
The host processor 110 may, for example, be configured to perform the various computations and operations involved with the general function of a device 100. 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 100. In some embodiments, a host processor 110 may perform some amount of the processing of received returned signals from ultrasonic transducer 150 and/or some aspects of the methods of detecting moving objects that are described herein.
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 a sensor processing unit (SPU) 120 (see e.g.,
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 SPU 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 100 from an external transmission source and transmission of data from device 100 to an external recipient. 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 transducer 150 is configured to emit and receive ultrasonic signals which are in the ultrasonic range. In some embodiments, a plurality of ultrasonic transducers 150 may be included and one may emit sonic signals while one or more others receive resulting signals from the emitted sonic signals. In some embodiments, ultrasonic transducer 150 may include a controller 151 for locally controlling the operation of the ultrasonic transducer 150. Additionally, or alternatively, in some embodiments, one or more aspects of the operation of ultrasonic transducer 150 or components thereof may be controlled by an external component such as host processor 110. Device 100A may contain a single ultrasonic transducer 150, or may contain a plurality of ultrasonic transducers, for example in the form of an array of ultrasonic transducers. For example, in an embodiment with a single ultrasonic transducer that is used for transmitting (e.g., emitting) and receiving, the ultrasonic transducer may be in an emitting phase for a portion of its duty cycle and in a receiving phase during another portion of its duty cycle.
Controller 151, when included, may be any suitable controller, many types of which have been described herein. In some embodiments, controller 151 may control the duty cycle (emit or receive) of the ultrasonic transducer 150 and the timing of switching between emitting and receiving. In some embodiments, a controller 151 may perform some amount of the processing of received returned signals and/or some aspects of the methods of detecting moving objects that are described herein.
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 100, such as host processor 110. In some embodiments, a sensor processor 130 may perform some amount of the processing of received returned signals and/or some aspects of the methods of detecting moving objects that are described herein.
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 ultrasonic transducer 150 and/or other sensors. 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, object detection modules, object location modules, and/or decision-making modules. Modules may include instructions to implement one or more of the methods described herein using host processor 110, sensor processor 130, and or controller 151.
Ultrasonic transducer 150, as previously described, is configured to emit and receive ultrasonic signals which are in the ultrasonic range. In some embodiments, a plurality of ultrasonic transducers 150 may be included and one may emit sonic signals while one or more others receive resulting signals from the emitted sonic signals. In some embodiments, ultrasonic transducer 150 may include a controller 151 for locally controlling the operation of the ultrasonic transducer 150. Additionally, or alternatively, in some embodiments, one or more aspects of the operation of ultrasonic transducer 150 or components thereof may be controlled by an external component such as sensor processor 130 and/or host processor 110. Ultrasonic transducer 150 is communicatively coupled with sensor processor 130 by a communications interface (such as communications interface 105), bus, or other well-known communication means.
Controller 151, when included, may be any suitable controller, many types of which have been described herein. In some embodiments, controller 151 may control the duty cycle (emit or receive) of the ultrasonic transducer 150 and the timing of switching between emitting and receiving. In some embodiments, a controller 151 may perform some amount of the processing of received returned signals, may perform some aspects of the methods of detecting moving objects that are described herein, and/or may interpret and carryout instructions received from external to ultrasonic transducer 150.
In some embodiments, the distance range of interest 275 may encompass the range between the maximum and minimum distances at which at object can be sensed by the ultrasonic transducer 150 or the distance available in a sensed environment 200 (e.g., transducer 150 may have a greater range that the size of the room). In some embodiments, distance range of interest 275 may only encompass the range in which a person or object can move (e.g., it may encompass a walking path through a room otherwise filled with obstacles such as boxes or furniture). The distance range of interest 275 may encompass several meters in some embodiments. In some embodiments, the distance range of interest 275 may be broken up into a one or a plurality of smaller subranges (such as first subrange 280 and second subrange 285) for analysis. Although two subranges are depicted, there may be more. A particular subrange may be very small, such as 5 to 10 centimeters, and its size may be related to the size of objects which are trying to be detected. For example, if an ultrasonic transducer is being used to detect small moving objects (such as house pets), a subrange may be a few to several centimeters. While if an ultrasonic transducer is being used to detect for a larger moving object, such as a human, the subrange may be larger, such as 50-100 centimeters. A subrange, in some embodiments, may be related to the dimension of the temporal variations which are expected and/or to the accuracy with which it is desired to locate a moving object. Any number of subranges may be utilized. Subranges may be selected to be any size, may be identical in size, or may vary in size.
As depicted, ultrasonic transducer 150 emits a pulse or other signal 201A (illustrated by larger dashed lines with an outbound orientation with respect to ultrasonic transducer 150) and, after ceasing the emission, receives corresponding returned signals 202A (illustrated by smaller dashed lines with an inbound orientation with respect to ultrasonic transducer 150) which correspond to the pulse emission 201A. Put differently, the returned signals are echoes which have reflected from objects with the distance range of interest 275, returned to, and received by ultrasonic transducer 150. Received returned signals 202A from sensed environment 200A would represent a background or steady state of sensed environment 200 and will represent items which do not move (such as walls) along with items which might be moved (such as furniture) but typically remain static over very short timeframes. In sensed environment 200A, the individual non-moving objects may be sensed based on the magnitude of received returned signals 202A that are received from distance ranges that correspond to non-moving object 215 and non-moving object 217. As will be further discussed, even if nothing new is added and no object moves through sensed environment 200A, there may be enough variability in the magnitudes of received returned signals 202A to influence the accuracy of presence and motion detection. This variability may be due to one or more of a variety of factors, which may include: sensor noise, temperature variations, air flow changes (e.g., caused by doors opening/closing, on/off cycling of an air conditioning system, wind through a window, etc.), and occasional slight displacement of objects in the sensed environment (e.g., rustling of a curtain, repositioning of a lamp on a table, etc.).
With continued reference to
Referring now to
Referring again to
With reference again to
With reference to
With continued reference to
The increases provided by block 690 may be referred to as a “forget factor” and may be a fixed amount or a small percentage (e.g., 1%, 2%, etc.) of the current variation. This deteriorates the variation over time (by gradually increasing its value over time) and results in a decrease in sensitivity to changes in the normalized sensor data. A smaller increase means that the system is less reactive to changes when the variations increases, e.g., when a moving object become present in the subrange (possible false negative). This increase eventually forces the system to update the background variance. A larger increase means that the system is more reactive, but may also become more noisy and overreactive (possible false positive). A high background variation is analogous to a noisy environment; where the noisier the environment the harder it is to detect movement in the returned signals.
In block 325 a quantification of the variation (e.g., a calculated variance) for a subrange is employed to correct for changes in the respective modified returned signals (e.g., high pass filtered data) for a subrange. The correction may involve dividing the modified returned signals in a subrange by the quantity of variation that has been determined for that subrange. In other words, the signals are normalized using the quantified variations for the respective subrange. This is repeated for other subranges in the distance range of interest and produces normalized sensor data for each subrange and for the entire distance range of interest for each emit/receive duty cycle of the ultrasonic transducer 150.
Referring again to
At block 845 a maximum absolute value for the analyzed normalized sensor data 330 is identified. The absolute value is used because some of the amplitudes of the normalized sensor data 330 may present as negative values (as illustrated in
At block 850 a statistical variance from the average value is determined using squared values (which again compensates for negative values in the normalized data). This can be a standard technique of calculating a variance as might be used when calculating a standard deviation (which is typically expressed as the square root of variance). In some embodiments, when the variance exceeds a preset threshold, a moving object is confirmed as being detected in the analyzed normalized sensor data 330. This variance is an indication of how stable the detection of the object is and can be later used to determine a confidence of the detection. It should be appreciated that the variances calculated in 850 are variances in space (e.g., over the entire distance range of interest of a field of interest of a transducer). These variances over a space (e.g., over a distance range of interest) are different than the variations over time for a sub-range of the distance range of interest that were discussed in conjunction with
At block 855, the squared values variance is provided to a threshold and state machine. These squared values variances may be compared to existing values, to changes over time, and to threshold values to determine if a moving object has been detected in the normalized sensor data 330 being analyzed. The state machine may also determine that there should be a certain amount of consecutive positive occurrences of detection of a moving object or else a certain number in a number of samples (e.g., 7 out of 10 consecutive samples).
At block 860 the confidence of detection of a moving object in the analyzed normalized sensor data 330 is determined. The confidence is a value associated with the detection of the moving object. Generally, the higher the variance calculated in block 850, the greater the confidence that a moving object has been detected. The confidence may be expressed in a variety of ways, such as binary value or as a scaled value. For example, the confidence may be expressed as a binary value of 0 (low confidence) or a value of 1 (high confidence). In such an embodiment, the detection criterion (i.e., the squared variance value) is compared against a threshold which is used to compute the confidence. As another non-limiting example: when the criterion=threshold, confidence value=0; when the criterion>=10 times the threshold, the confidence value=1; and when the criterion is in between 0 and ten times the threshold, the confidence value is determined as a linear value between 0 and 1 along the line between the threshold and ten times the threshold value.
At block 865, in some embodiments, in response to initial detection of a moving object by threshold and state machine 855, the minimum and maximum distances of the object may be determined. These may be bounded by the distances associated with the subrange of data (e.g., first subrange 280) which is represented by the normalized sensor data 330. However, in some instances, the data may be additionally analyzed to determine a narrow maximum and minimum distance within the subrange. For example, if the subrange covered a distance between 200 and 300 centimeters from the ultrasonic transducer, further analysis of the data may show that amplitude spikes indicate the moving object is between 225 and 275 centimeters from the ultrasonic transducer 150. In some embodiments, if a particular distance from the transducer to the moving object is estimated or calculated from the time of flight of the underlying returned signals, a buffer (e.g., +/−5 centimeters; +/−10 centimeters, etc.) around this distance may be used to determine minimum and maximum distances to the moving object. In some embodiments, the subranges may be altered from wider to narrow subranges upon initial detection of a moving object. This may allow for a coarse initial detection and a finer location of the moving object after the initial detection.
At block 870, in some embodiments, in response to initial detection of a moving object by threshold and state machine 855, detection with ultrasonic transducer 150 may be paused for a predetermined period of time such as 0.5 seconds, 1 second, or 1.5 seconds and then restarted. When implemented, this pause facilitates additional smoothing of the global output of object detection block 340. This additional smoothing is on top of the smoothing provided by threshold and state machine 855.
Procedures of the methods illustrated by flow diagram 900 of
With reference to
With continued reference to
With continued reference to
In some embodiments the variation (which may be a statistical variance) in amplitude is compared with a previously determined variation in amplitude, and if the variation is smaller than the previously determined variation it is set as the new variance used for comparisons and it is increased a predetermined amount. If it is larger than a previously determined variation, the previously determined variation is kept and used for normalization and future comparison, but may also be increased slightly by a predetermined amount. The predetermined amount may be a multiplication factor which is close to 1 (e.g., 1.01 or 1.05) or may be a set whole number such as 1or 2. The amount of increase is selected to decay the variation used for comparison and normalizing and thus cause it to be updated with new data over time. The increase also deteriorates the variation in amplitude over time (by making it larger) to increase sensitivity to change of the normalized sensor data which is normalized by dividing values in the modified returned signals by the value of the variation. Put differently, the modified returned signals are normalized using the variation of the modified returned signals. Thus, changing the variation changes the result of normalization.
In some embodiments, normalization is accomplished separately for each identified subrange of a distance range of interest. For example, normalized sensor data for a first subrange of a distance range of interest is obtained by normalizing modified returned signals for the first subrange using a variation (which may be a statistical variance) calculated for the first subrange. This amount of the variation used needs to be identified or quantified. Put differently, when there are numerous subranges, the quantity of the variation associated with a particular subrange needs to be identified. The normalization may comprise dividing the values of the modified returned signals by the quantity of the variation. This can be similarly repeated for other subranges (e.g., for a second subrange, a third subrange, etc.) identified in a distance range of interest using the quantified variation and the modified returned signals associated with a particular subrange.
With continued reference to
With continued reference to
With continued reference to
In some embodiments, the detection of a moving object in a distance range of interest may involve calculating a variance of the normalized sensor data for either a subrange of the distance range of interest or for the entire distance range of interest. This variance can then be compared to a threshold and responsive to the variance exceeding a threshold, a moving object is determined to have been detected. An example of this technique is described in 850 of
With reference to
With continued reference to
With continued reference to
With reference to
With continued reference to
With continued reference to
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.