Determining the confidence level of the motion region of the motion location identified as motion detected by the wireless signal
By analyzing the interference or excitation of wireless signals, dividing multiple motion areas, and using statistical information processing technology, the problems of large space occupied by multiple wireless communication devices in the prior art are solved, and the effect of more efficient motion area coverage and reducing calculation load is achieved.
Patent Information
- Application Number
- CN201980097486.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-15
- Filing Date
- 2019-08-28
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2039-08-28
AI Technical Summary
The existing motion detection system requires multiple wireless communication devices when determining the motion area, resulting in large space and high cost of the device, and heavy calculation load, making it difficult to operate on low-processing equipment.
By analyzing interference or excitation of wireless signals, dividing multiple motion areas, and using statistical information processing technology, reducing dependence on wireless communication devices is achieved, and a smaller number of devices is achieved to determine unique and separable motion areas.
Reduces the footprint of the system device, increases the efficiency of motion area coverage, and reduces the computational load, allowing the system to operate on low-processing equipment.
Smart Images

Figure CN113966472B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Patent Application No. 16 / 413,165, filed May 15, 2019, the entire contents of which are incorporated herein by reference. Background Art
[0003] The following description relates to determining a confidence level for a motion region identified as a motion location of motion detected by a wireless signal.
[0004] Motion detection systems have been used to detect the movement of objects within a room or outdoor area, for example. In some example motion detection systems, infrared or optical sensors are used to detect the movement of objects within the sensor's field of view. Motion detection systems have been used in security systems, automated control systems, and other types of systems. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Figure 1 is a diagram illustrating an example wireless communication system.
[0006] Figure 2A-2B is a diagram illustrating example wireless signals communicated between wireless communication devices.
[0007] Figure 3A is a graph of an example wireless signal communicated over a wireless link through a space between two wireless communication devices in a stereogram.
[0008] Figure 3B yes Figure 3A A graph of example individual channel responses of an example wireless signal in the frequency domain.
[0009] Figure 3C yes Figure 3A A graph of a burst pulse portion of an example wireless signal in the time domain at multiple time steps.
[0010] Figure 4 is a graph showing an example time series of statistical parameters in a time frame for a wireless link.
[0011] Figure 5 is a flow chart illustrating example processing, such as performed by a motion detection system, for determining one or more motion regions.
[0012] Figure 6 is a flow chart illustrating an example process for identifying one or more motion regions where detected motion occurs.
[0013] Figure 7A-7B is a schematic diagram of three example motion regions each associated with a long-term mean and a short-term mean.
[0014] Figure 8 is a graph of two data sets separated by a hyperplane representing the parameters of various motion regions.
[0015] Fig. 9 is a flow chart illustrating an example process for determining the location of motion in space traversed by a wireless signal.
[0016] Fig.10 is a flow chart illustrating an example process for determining multiple motion regions and corresponding sets of motion region parameters.
[0017] Fig.11 is a flow chart illustrating an example process for identifying one or more of a plurality of motion regions where motion occurs.
[0018] Fig.12 is a flow chart illustrating an example process for determining a confidence level of a motion region identified as a location of detected motion.
[0019] Fig.13 is a block diagram illustrating an example wireless communication device. DETAILED DESCRIPTION
[0020] In some aspects described herein, information from multiple wireless communication devices that wirelessly communicate with each other (e.g., via wireless signals) can be used to detect the location of movement in a space (e.g., a specific room in a house where a person is moving, a specific floor or quadrant of a building where a person is moving, etc.). This detection can be assisted by dividing the space into multiple motion regions and then identifying one or more of these motion regions as the location of the movement. Statistical metrics such as confidence levels can be calculated for one or more identified motion regions. Multiple motion regions can be determined by monitoring interference or excitation of wireless signals passing through the space. Once these multiple motion regions are determined, they can be associated with motion region statistics and collective information stored in a database. The location of future motion events can be determined by reference to a database.
[0021] In some instances, aspects of the systems and techniques described herein provide technical improvements and advantages over existing methods. For example, the systems and techniques enable unique and separable motion regions to be determined using fewer wireless communication devices than conventional methods. Conventional methods often utilize at least one wireless communication device (and possibly more) for each motion region. In contrast, the systems and techniques disclosed herein enable a smaller number of devices to be implemented for each motion region, which may be a small portion of the conventional methods. This advantage can reduce the device footprint of the system and can also increase the motion region coverage footprint. In addition, the systems and techniques described herein rely on the processing of statistical information, which can be implemented with a relatively light computational load. In this way, the systems and techniques are suitable for running on data processing devices that do not have high processing power. As will be presented below, other improvements and advantages are possible.
[0022] In some instances, wireless signals received at various wireless communication devices in a wireless communication network may be analyzed to determine channel information of different communication links (between various pairs of wireless communication devices) in the network. Channel information may represent a physical medium for applying a transfer function to a wireless signal passing through space. In some instances, channel information includes a channel response. The channel response may characterize a physical communication path, thereby representing a combined effect of, for example, scattering, fading, and power attenuation in the space between a transmitter and a receiver. In some instances, channel information includes beamforming state information (e.g., feedback matrix, steering matrix, channel state information (CSI), etc.) provided by a beamforming system. Beamforming is a signal processing technique often used in multi-antenna (multiple input / multiple output (MIMO)) radio systems for directional signal transmission or reception. Beamforming may be achieved by operating elements in an antenna array in a manner that signals at a specific angle undergo constructive interference and other signals undergo destructive interference.
[0023] The channel information of each communication link may be analyzed (e.g., by a hub device or other device in a wireless communication network, or a remote device communicatively coupled to the network) to detect whether motion has occurred in the space, to determine the relative position of the detected motion, or both. In some aspects, the channel information of each communication link may be analyzed to detect whether an object is present or absent, for example, when no motion is detected in the space.
[0024] Example motion detection and localization algorithms that can be used to detect motion based on wireless signals include the techniques described in the following patents, among others: U.S. Patent 9,523,760, entitled “Detecting Motion Based on Repeated Wireless Transmissions”; U.S. Patent 9,584,974, entitled “Detecting Motion Based on Reference Signal Transmissions”; U.S. Patent 10,051,414, entitled “Detecting Motion Based On Decompositions Of Channel Response Variations”; U.S. Patent 10,048,350, entitled “Motion Detection Based on Groupings of Statistical Parameters of Wireless Signals”; U.S. Patent 10,108,903, entitled “Motion Detection Based on Machine Learning of Wireless Signal Properties”; U.S. Patent 10,109,167, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,133,979, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,151,414, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,153,979, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,133,979, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,15 ... ResponseCharacteristics” in U.S. Patent 10,109,168.
[0025] Figure 1 An example wireless communication system 100 is shown. The example wireless communication system 100 includes three wireless communication devices 102A, 102B, 102C. The example wireless communication system 100 may include additional wireless communication devices 102 and / or other components (e.g., one or more network servers, network routers, network switches, cables or other communication links, etc.).
[0026] The example wireless communication devices 102A, 102B, 102C may, for example, operate in a wireless network in accordance with a wireless network standard or another type of wireless communication protocol. For example, the wireless network may be configured to operate as a wireless local area network (WLAN), a personal area network (PAN), a metropolitan area network (MAN), or another type of wireless network. Examples of WLANs include networks configured to operate in accordance with one or more of the 802.11 family of standards developed by the IEEE (e.g., Wi-Fi networks), etc. Examples of PANs include networks configured to operate in accordance with short-range communication standards (e.g., Bluetooth Near Field Communication (NFC), ZigBee, and millimeter wave communications.
[0027] In some implementations, the wireless communication devices 102A, 102B, 102C may be configured to communicate in a cellular network, for example, according to a cellular network standard. Examples of cellular networks include networks configured according to the following standards: 2G standards such as Global System for Mobile (GSM) and Enhanced Data Rates for GSM Evolution (EDGE) or EGPRS; 3G standards such as Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), and Time Division Synchronous Code Division Multiple Access (TD-SCDMA); 4G standards such as Long Term Evolution (LTE) and Advanced LTE (LTE-A); and 5G standards; etc.
[0028] In some cases, one or more of the wireless communication devices 102 are Wi-Fi access points or another type of wireless access point (WAP). In some cases, one or more of the wireless communication devices 102 are, for example, access points of a wireless mesh network (such as commercially available mesh network systems (e.g., GOOGLE Wi-Fi, EERO mesh systems, etc.)). In some instances, one or more of the wireless communication devices 102 may be implemented as wireless access points (APs) in a mesh network, while (one or more) other wireless communication devices 102 are implemented as leaf devices (e.g., mobile devices, smart devices, etc.) that access the mesh network through one of the APs. In some cases, one or more of the wireless communication devices 102 are mobile devices (e.g., smart phones, smart watches, tablets, laptops, etc.), wireless-enabled devices (e.g., smart thermostats, Wi-Fi-enabled cameras, smart TVs), or another type of device that communicates in a wireless network.
[0029] exist Figure 1In the example shown, wireless communication devices (e.g., according to a wireless network standard or a non-standard wireless communication protocol) transmit wireless signals to each other over a wireless communication link, and the wireless signals communicated between the devices can be used as motion detectors to detect the motion of objects in the signal path between the devices. In some implementations, standard signals (e.g., channel sounding signals, beacon signals), non-standard reference signals, or other types of wireless signals can be used as motion detectors.
[0030] exist Figure 1 In the example shown, the wireless communication link between the wireless communication devices 102A, 102C may be used to detect a first motion detection area 110A, the wireless communication link between the wireless communication devices 102B, 102C may be used to detect a second motion detection area 110B, and the wireless communication link between the wireless communication devices 102A, 102B may be used to detect a third motion detection area 110C. In some examples, the motion detection areas 110 may include, for example, air, solid material, liquid, or another medium through which wireless electromagnetic signals may propagate.
[0031] exist Figure 1 In the example shown, if an object moves in any of the motion detection areas 110, the motion detection system can detect the motion based on the signal transmitted through the relevant motion detection area 110. In general, the object can be any type of static or movable object, and can be animate or inanimate. For example, the object can be a human (e.g., Figure 1 A person 106 is shown), an animal, an inorganic object, or another device, equipment or assembly, an object used to define all or part of the boundaries of a space (e.g., a wall, door, window, etc.), or another type of object.
[0032] In some examples, the wireless signal can propagate through structures (e.g., walls) before or after interacting with the mobile object, which can enable detection of movement of the mobile object without optical line of sight between the mobile object and the transmitting or receiving hardware. In some instances, the motion detection system can communicate the motion detection event to another device or system such as a security system or control center.
[0033] In some cases, the wireless communication device 102 itself is configured to perform one or more operations of the motion detection system, such as by executing computer-readable instructions (e.g., software or firmware) on the wireless communication device. For example, each device can process received wireless signals to detect motion based on changes detected in the communication channel. In some cases, another device (e.g., a remote server, a network-attached device, etc.) is configured to perform one or more operations of the motion detection system. For example, each wireless communication device 102 can send channel information to a central device or system for performing operations of the motion detection system.
[0034] In an example aspect of operation, wireless communication devices 102A, 102B may broadcast wireless signals or address wireless signals to other wireless communication devices 102C, and wireless communication devices 102C (and possibly other devices) receive wireless signals transmitted by wireless communication devices 102A, 102B. Wireless communication devices 102C (or another system or device) then process the received wireless signals to detect motion of objects in the space accessed by the wireless signals (e.g., in areas 110A, 11B). In some instances, wireless communication devices 102C (or another system or device) may perform a targeted Figure 6 The depicted example process 600 may include one or more operations, or another type of process, for detecting motion.
[0035] Figure 2A and 2B is a diagram showing example wireless signals communicated between wireless communication devices 204A, 204B, 204C. The wireless communication devices 204A, 204B, 204C may be, for example Figure 1 The wireless communication devices 102A, 102B, 102C are shown, or may be other types of wireless communication devices.
[0036] In some cases, a combination of one or more of the wireless communication devices 204A, 204B, 204C may be part of, or may be used by, a motion detection system. The example wireless communication devices 204A, 204B, 204C may transmit wireless signals through the space 200. The example space 200 may be completely or partially enclosed or open at one or more boundaries of the space 200. The space 200 may be or may include the interior of a room, multiple rooms, a building, an indoor area, an outdoor area, etc. In the example shown, the first wall 202A, the second wall 202B, and the third wall 202C at least partially enclose the space 200.
[0037] exist Figure 2A and Figure 2BIn the example shown, the first wireless communication device 204A repeatedly (e.g., periodically, intermittently, at predetermined, unscheduled or random intervals, etc.) transmits a wireless motion detection signal. The second wireless communication device 204B and the third wireless communication device 204C receive signals based on the motion detection signal transmitted by the wireless communication device 204A.
[0038] As shown in the figure, Figure 2A At an initial time (t0) in , the object is at a first position 214A, and Figure 2B At a subsequent time (t1), the object has moved to a second location 214B. Figure 2A and Figure 2B In the figure, the moving object in the space 200 is represented as a human being, but the moving object may be another type of object. For example, the moving object may be an animal, an inorganic object (e.g., a system, a device, a device, or an assembly), an object for defining all or part of the boundary of the space 200 (e.g., a wall, a door, a window, etc.), or another type of object.
[0039] like Figure 2A and Figure 2B 2 , multiple example paths of wireless signals transmitted from the first wireless communication device 204A are shown by dashed lines. Along the first signal path 216, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the first wall 202A toward the second wireless communication device 204B. Along the second signal path 218, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the second wall 202B and the first wall 202A toward the third wireless communication device 204C. Along the third signal path 220, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the second wall 202B toward the third wireless communication device 204C. Along the fourth signal path 222, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the third wall 202C toward the second wireless communication device 204B.
[0040] exist Figure 2A In FIG. 2 , along the fifth signal path 224A, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the object at the first location 214A toward the third wireless communication device 204C. Figure 2A The time t0 and Figure 2B During the time t1, the object moves from the first position 214A to the second position 214B (e.g., a distance away from the first position 214A) in the space 200. Figure 2B In FIG. 2 , along the sixth signal path 224B, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the object at the second position 214B toward the third wireless communication device 204C. As the object moves from the first position 214A to the second position 214B, Figure 2B The sixth signal path 224B shown is Figure 2A The fifth signal path 224A is shown as being long. In some examples, signal paths may be added, removed, or otherwise modified due to movement of objects in space.
[0041] Figure 2A and Figure 2B The example wireless signals shown may experience attenuation, frequency shift, phase shift or other effects through their respective paths, and may have a portion that propagates in another direction, such as through walls 202A, 202B, and 202C. In some examples, the wireless signals are radio frequency (RF) signals. The wireless signals may include other types of signals.
[0042] The transmission signal may have multiple frequency components in the frequency bandwidth. The transmission signal may be transmitted from the first wireless communication device 204A in an omnidirectional manner, in a directional manner, or in other ways. In the example shown, the wireless signal passes through multiple corresponding paths in the space 200, and the signal along each path may become attenuated due to path loss, scattering or reflection, etc., and may have a phase offset or a frequency offset.
[0043] like Figure 2A and Figure 2B As shown, signals from various paths 216, 218, 220, 222, 224A and 224B are combined at the third wireless communication device 204C and the second wireless communication device 204B to form a received signal. Due to the influence of multiple paths in the space 200 on the transmitted signal, the space 200 can be represented as a transfer function (e.g., a filter) that inputs the transmitted signal and outputs the received signal. In the case where an object moves in the space 200, the attenuation or phase shift of the signal in the affected signal path can change, so the transfer function of the space 200 can change. In the case of transmitting the same wireless signal from the first wireless communication device 204A, if the transfer function of the space 200 changes, the output of the transfer function (e.g., the received signal) will also change. The change in the received signal can be used to detect the movement of the object. On the contrary, in some cases, if the transfer function of the space does not change, the output of the transfer function (received signal) will not change.
[0044] Mathematically, the transmission signal f(t) transmitted from the first wireless communication device 204A can be described according to equation (1):
[0045]
[0046] Among them, ω n represents the frequency of the nth frequency component of the transmitted signal, c nrepresents the complex coefficient of the nth frequency component, and t represents time. In the case where the transmission signal f(t) is transmitted from the first wireless communication device 204A, the output signal r from the path k can be described according to equation (2): k (t):
[0047]
[0048] Among them, α n,k represents the attenuation factor (or channel response; for example, the channel response due to scattering, reflection, and path loss) of the nth frequency component along path k, and φ n,k represents the phase of the signal of the nth frequency component along path k. Then, the received signal R at the wireless communication device can be described as all the output signals r from all paths to the wireless communication device k The sum of (t), which is shown in equation (3):
[0049]
[0050] Substituting equation (2) into equation (3) yields the following equation (4):
[0051]
[0052] Then, for example, the received signal R at the wireless communication device can be analyzed to detect motion. For example, using a fast Fourier transform (FFT) or another type of algorithm, the received signal R at the wireless communication device can be transformed into the frequency domain. The transformed signal can represent the received signal R as a series of n complex values, where one complex value is used for a corresponding frequency component (n frequency ω n For the frequency ω n The frequency component at can be expressed as follows in equation (5): n :
[0053]
[0054] Given a frequency component ω n The complex value of indicates the frequency component ω n The relative amplitude and phase shift of the received signal at . When the object moves in space, due to the spatial channel response α n,k is constantly changing, so the complex value Y n Therefore, the detected change in the channel response (and hence the complex value Y n ) may indicate movement of an object within a communication channel. Conversely, a stable channel response may indicate a lack of movement. Thus, in some implementations, a complex value Y for each of a plurality of devices in a wireless network may be processed. n, to detect whether motion occurs in the space through which the transmitted signal f(t) passes.
[0055] exist Figure 2A and Figure 2B In another aspect of the present invention, beamforming can be performed between devices based on some knowledge of the communication channel (e.g., feedback properties generated by the receiver), which can be used to generate one or more steering properties (e.g., steering matrices) applied by the transmitter to shape the transmit beam / signal in one or more specific directions. Thus, changes in the steering or feedback properties used in the beamforming process indicate changes in the space accessed by the wireless communication system that may be caused by moving objects. For example, motion can be detected by significant changes in the communication channel over a period of time (as shown by the channel response, or the steering or feedback properties, or any combination thereof).
[0056] In some implementations, for example, a steering matrix may be generated at a transmitter device (beamforming transmitting end) based on a feedback matrix provided by a receiver device (beamforming receiving end) based on channel sounding. Since the steering matrix and the feedback matrix are related to the propagation characteristics of the channel, these matrices change as the object moves within the channel. Changes in channel characteristics are reflected in these matrices accordingly, and by analyzing the matrices, motion may be detected, and different characteristics of the detected motion may be determined. In some implementations, a spatial map may be generated based on one or more beamforming matrices. A spatial map may indicate a general direction of an object in space relative to a wireless communication device. In some cases, a "mode" of a beamforming matrix (e.g., a feedback matrix or a steering matrix) may be used to generate a spatial map. A spatial map may be used to detect the presence of motion in space or to detect the location of a detected motion.
[0057] Reference now Figure 3A , presents a graph of an example wireless signal communicated over a wireless link through space between two wireless communication devices in a stereogram. The graph depicts the power of the example wireless signal in a frequency range from f+0 to f+n and through a time frame from t+0 to t+m. Here, n and m are integers and correspond to a frequency bin and a time step, respectively. The graph represents the example wireless signal as a set of channel responses including individual channel responses for each time step. Figure 3B Presentation Figure 3A Graph of example individual channel responses for an example wireless signal of FIG. 1 in the frequency domain. The individual channel responses have magnitudes of power between frequency bins from f+0 to f+n. Figure 3A and Figure 3BThe individual channel responses are described as being constant in magnitude and invariant in time. However, the magnitude of the power of the individual channel responses may vary between frequency bins, and the magnitude of the power between individual frequency bins may vary as time progresses through the time steps. Figure 3A and Figure 3B The magnitude of the power of the individual channel responses is depicted as continuous across frequency bins, but the magnitude may also be discontinuous. For example, the magnitude of the power may include discrete magnitude points across a frequency range, such that one or more magnitude points reside in each frequency bin.
[0058] Figure 3C Presents multiple time steps from a temporal perspective Figure 3A Graph of a portion of an example wireless signal. Each time step corresponds to a burst of electromagnetic power associated with an individual channel response in a set of channel responses. The burst of electromagnetic power may be centered at the individual time step. For example, Figure 3C The wireless signal is depicted as having three such bursts centered at respective time steps t+2, t+3, and t+4. However, other numbers and locations of time steps are possible for the example wireless signal.
[0059] Then, the channel response set (or channel response data set) can be processed to generate a time series of statistical parameters. For example, the channel response set can be processed according to equation (6) to generate a time series of means represented by M:
[0060]
[0061] Here, H represents the amplitude of the electromagnetic power within the frequency bin f+k, and the term in square brackets represents the difference in amplitude as the wireless signal progresses in time between a pair of adjacent time steps (i.e., t→t+1). When the difference is determined for each frequency bin from f+0 to f+n, the difference captures the evolution of the wireless signal between the pair of adjacent time steps. Equation (6) averages the difference by dividing the sum of the differences between each frequency bin by the number of frequency bins n, thereby producing a mean value M t+1 The mean characterizes the statistical distribution of the differences and may be determined for each pair of adjacent time steps in the time frame to generate a time series of means (eg, M t+1 ,M t+2 ,M t+3 ,…,M t+m ). Although equation (6) produces a mean to characterize the statistical distribution, other statistical parameters are also possible (e.g., standard deviation, range or spread, skewness and kurtosis, etc.). In addition, the statistical distribution can be based on mathematical operations (or combinations thereof) other than difference, such as summation, product and quotient, etc.
[0062] The time series of statistical parameters can be used to determine the motion area in the space between the wireless communication devices and the motion area parameters used to characterize each motion area. In some implementations, a channel response data set based on a wireless signal communicated on a wireless link is obtained within a time frame. The wireless signal passes through the space between the wireless communication devices. The channel response data set includes a channel response data set for each wireless link. A time series of statistical parameters can be generated for each wireless link based on the corresponding channel response data set. The time series of statistical parameters characterizes the statistical distribution of the corresponding channel response data set at consecutive time points in the time frame.
[0063] The motion region can be determined in space based on changes in the time series of the statistical parameters of the wireless link. For example, the time series of the standard deviation can be analyzed in the time frame to determine whether the amplitude of the standard deviation has increased or decreased by more than 30% within the time frame. In another example, the standard deviation can be determined for the time series of the mean in the time frame. The time series of the mean can then be analyzed to determine the time point at which its amplitude increases or decreases outside the standard deviation. In these examples, the time boundary can be associated with each change in the amplitude of the time series of the statistical parameter in the time frame.
[0064] Figure 4 A graph 400 is presented showing an example time series of a statistical parameter 402 in a time frame 404 for a wireless link. Figure 4 404. The example time series of statistical parameters 402 is depicted as a continuous line in FIG. However, the example time series of statistical parameters 402 may be represented by a discrete sequence of data points. The time series of statistical parameters 402 may include one or more amplitude changes 406 that are larger than a predetermined amount, for example, a change that is larger than a standard deviation about a mean 408. Time boundaries 410 are associated with each amplitude change 406 within the time frame 404. Adjacent pairs of time boundaries 410 in the time series of statistical parameters 402 may be used to determine the time intervals of each motion region. In particular, motion regions may be assigned to portions of the time series of statistical parameters 402 within corresponding time intervals. Figure 4 The time series of statistical parameters 402 is depicted as having four time intervals and four corresponding motion regions (three of which are unique). However, other numbers of time intervals and corresponding motion regions are possible. Furthermore, the time intervals need not be of the same duration and may be of different durations.
[0065] although Figure 4Time series of statistical parameters of a single wireless link are depicted, but multiple time series of statistical parameters and corresponding wireless links are possible. In these instances, the individual time series of statistical parameters can be analyzed to determine motion regions in space. In particular, multiple motion regions can be determined in space based on changes in the time series of statistical parameters of the individual wireless links. For example, if a single wireless link does not uniquely "see" the motion region (e.g., the amplitude of the statistical parameter from one time interval is approximately equal to the amplitude of the statistical parameter from another time interval), data from other wireless links can be analyzed. In particular, the analysis of the time series of statistical parameters from a single wireless link can be supplemented by the analysis of one or more additional time series of statistical parameters from other corresponding wireless links. About Figures 7A to 7B and Figure 8 Determination of unique motion regions is further discussed. In some examples, the time series of the statistical parameter of each wireless link includes a mean. In some examples, the time series of the statistical parameter of each wireless link includes a standard deviation.
[0066] In some implementations, determining the plurality of motion regions includes: identifying one or more time series of statistical parameters that vary in magnitude by more than a predetermined amount within a time frame. Temporal boundaries in the time frame are associated with respective changes in magnitude of the one or more time series of statistical parameters. The time intervals (such as about Figure 4 The motion regions may then be assigned to respective portions of the one or more time series of statistical parameters within respective time intervals. Individual motion regions may be common to more than one of the one or more time series of statistical parameters (or respective wireless links). The motion regions collectively define a plurality of motion regions.
[0067] A set of motion region parameters may be generated to characterize each of the plurality of motion regions. Each set of motion region parameters is generated based on a portion of a time series of statistical parameters associated with a single motion region and defined by a corresponding time interval. For example, referring to equation (6), according to equation (7), a time series M of mean values may be used to generate the motion region parameters.
[0068]
[0069] Here, the motion area parameters is a second mean value determined for the value k corresponding to the time interval (t+i→t+j). The time interval defines a portion of the time series M of the means assigned to the motion region, and the second mean value Characterizes the statistical distribution of this part in the time interval (t+i→t+j). Second mean The second mean value M may be generated for each portion of the time series M of the mean values defined by the time interval and assigned to the motion region. The generation of can be extended to multiple such time series. Then, the motion region parameters thus obtained can be calculated in units of motion regions. Grouped to define a set of motion zone parameters for each motion zone.
[0070] Although equation (7) uses the mean to characterize the time series M of the mean, other types of motion region parameters are possible, such as standard deviation, range or spread, skewness and kurtosis, etc. In addition, more than one motion region parameter can be used to characterize a portion of the time series of statistical parameters (e.g., three, four, seven, etc.). The motion region parameter can also characterize the time series of statistical parameters other than the time series of the mean.
[0071] In some implementations, generating a set of motion region parameters includes: generating motion region parameters for each portion of the one or more time series to which the statistical parameters of the motion region are assigned. The motion region parameters characterize the statistical distribution of the portion within the corresponding time interval. In these implementations, generating a set of motion region parameters also includes: identifying motion region parameters associated with the common motion region, thereby defining the set of motion region parameters.
[0072] Reference now Figure 5 , presents a flowchart illustrating an example process 500 for determining one or more motion regions, for example, by a motion detection system. The motion detection system may be based on (e.g., as for Figure 1 2 or otherwise) through space (e.g., over a wireless link between wireless communication devices) to process information to detect motion of an object in space. The operations of process 500 may be performed by a remote computer system (e.g., a server in the cloud), a wireless communication device (e.g., one or more of the wireless communication devices), or another type of system. For example, the operations in example process 500 may be performed by Figure 1 This may be performed by one or more of the example wireless communication devices 102A, 102B, 102C.
[0073] The example process 500 may include additional or different operations, and these operations may be performed in the order shown or in another order. In some cases, Figure 5 One or more of the operations shown may be implemented as a process that includes multiple operations, sub-processes or other types of routines. In some cases, the operations may be combined, performed in another order, performed in parallel, iterated, or repeated or performed in another manner.
[0074] The example process 500 may collect channel responses for each wireless link (or stream). The channel responses may be stored in a first memory of the motion detection system, which may represent a stream data collection memory as shown in block 502. Each wireless link is defined by a unique pair of transmit antennas and receive antennas. As part of collecting the channel responses, the example process 500 may include obtaining a channel response data set based on wireless signals communicated on the wireless link (or stream) through space between wireless communication devices within a time frame. The channel response data set includes a channel response data set for each wireless link.
[0075] As shown in operation 504, the example process 500 may also process the channel response of each wireless link (or stream) to generate a motion region and a corresponding motion region parameter set. This operation generates a vector having an entry for each generated motion region for each wireless link. Each entry of the vector corresponds to a motion region label and includes a corresponding motion region parameter set. As shown in operation 506, the example process 500 may receive the vector as an output from operation 504 and combine these vectors to form a matrix. The matrix may then be input into a memory of a motion detection system. The example process 500 then stores all motion regions identified by the motion detection system for all operating time frames and their corresponding motion region parameter sets. The motion regions and corresponding motion region parameter sets may be stored in a second memory of the motion detection system, which may represent a memory for storing combined region statistics as shown in block 508.
[0076] As part of operations 504-506, the example process 500 may generate a time series of statistical parameters for each wireless link based on the corresponding channel response data set. The time series of statistical parameters characterizes the statistical distribution of the corresponding channel response data set at consecutive time points in the time frame. The example process 500 may also determine multiple motion regions in space based on changes in the time series of statistical parameters for each wireless link. Then, a motion region parameter set is generated for each motion region of the multiple motion regions. Each motion region parameter set is generated based on a portion of the time series of statistical parameters defined by the corresponding time interval. The example process 500 may additionally store the multiple motion regions and the motion region parameter set in a database of the motion detection system. The database of the motion detection system may include a memory 508 for storing combined regional statistics. In subsequent operations (not shown), the process 500 may use the motion region parameter set to identify one of the multiple motion regions based on the motion event detected by the motion detection system.
[0077] After completing operations 504-506, the example process 500 determines whether any statistics from the previous time frame correspond to a motion region detected in the subsequent time frame, as indicated by query 510. If "yes", the example process 500 continues to determine whether the detected motion region has been previously identified by the motion detection system, as indicated by operation 512. In this way, the example process 500 can compare the set of motion region parameters generated for the detected motion region with the set of motion region parameters stored in the combined region statistics storage memory. If "no", the vectors for each wireless link are stored in a third memory of the motion detection system, which can represent a link-level region statistics storage memory, as indicated by block 514.
[0078] As part of query 510 and operation 512, the generated motion region parameter set may be analyzed to determine whether the detected motion region is a new motion region. If the generated motion region parameter set is sufficiently different from any motion region parameter set stored in the combined region statistics storage memory, then the example process 500 identifies the detected motion region as a new motion region, as shown in operation 516. In particular, the example process 500 may execute program instructions to update the combined region statistics storage memory with the identification of the new motion region and its corresponding motion region parameter set. The example process 500 may also execute program instructions to add new entries to each vector stored in the link level region statistics storage memory. The new entry may include a motion region label for the new motion region and its corresponding motion region parameter set.
[0079] Alternatively, as part of query 510 and operation 512, the generated motion region parameter set may be analyzed to determine whether the detected motion region is a known motion region. If the generated motion region parameter set is sufficiently similar to any motion region parameter set stored in the combined region statistics storage memory, the example process 500 identifies the detected motion region as a known motion region. If the generated motion region parameter set is not identical to any motion region parameter set, but is within a predetermined tolerance, the example process 500 may refresh one or both of the combined region statistics storage memory and the link level region statistics storage memory with the generated motion region parameter set, as shown in operation 516. In particular, the example process 500 may execute program instructions to replace the motion region parameter set of the known motion region in the combined region statistics storage memory with the generated motion region parameter set. The example process 500 may also execute program instructions to replace the motion region parameter set associated with the known motion region in each vector stored in the link level region statistics storage memory with the generated motion region parameter set.
[0080] This can be done by iterating over the timeframe Figure 5 The example process 500 depicted. For example, the iteration may include a subsequent time frame that occurs after the time frame (or the previous time frame). As part of the above operations, the example process 500 may repeat the following operations in the subsequent time frame: obtaining a channel response data set, generating a time series of statistical parameters, determining multiple motion regions, generating a motion region parameter set, storing multiple motion regions, and using the motion region parameter set. The example process 500 may also determine a difference by comparing the motion region parameter set from the subsequent time frame with the motion region parameter set from the previous time frame. The example process 500 may also update one or both of the multiple motion regions and the motion region parameter set in a database of the motion detection system based on the difference. The database of the motion detection system may be stored in part in the stream data collection memory 502, the combined region statistics storage memory 508, and the link level region statistics storage memory 514.
[0081] In some examples, when the example process 500 determines a difference, the example process 500 identifies a new motion region and a new corresponding motion region parameter set. Additionally, when the example process 500 updates one or both of the plurality of motion regions and motion region parameter sets, the example process 500 then adds the new motion region and the new corresponding motion region parameter set to a database of the motion detection system.
[0082] In some examples, when the example process 500 determines the difference, the example process 500 identifies a motion region that exists in the database at the end of both the subsequent time frame and the previous time frame. The motion region is associated with a subsequent motion region parameter set at the end of the subsequent time frame and a previous motion region parameter set at the end of the previous time frame. The example process 500 then determines the difference between the subsequent motion region parameter set and the previous motion region parameter set. Additionally, when the example process 500 updates one or both of the plurality of motion regions and the motion region parameter set, the example process 500 replaces the previous motion region parameter set in the database with the subsequent motion region parameter set based on the difference.
[0083] The example process 500 can determine motion regions and corresponding sets of motion region parameters that are cataloged to define a database. A database that can be used as a reference database can be compiled within a time frame that is long enough for all motion regions in a space to be determined and characterized by statistical information. In some variations, the time frame occurs within a duration of at least 20 minutes (e.g., 30 minutes, 1 hour, 2 hours, 6 hours, etc.). The example process 500 can compile the database using motion that exists during at least a portion of the time frame, or alternatively, compile the database when there is no motion during the time frame. Once the database is compiled, it can be accessed by subsequent processing to help identify one or more motion regions where the detected motion occurs over a short time frame. The duration of the short time frame may be sufficient to enable the determination of several (e.g., 2 to 5) samples of statistical information, and in some instances, to enable the determination of dozens (e.g., 20 to 60) samples of statistical information. In some variations, the short time frame is no greater than 30 seconds (e.g., 1 second, 3 seconds, 10 seconds, 20 seconds, etc.).
[0084] For example, the short time frame may be 1 second. For each second, the example process 500 may analyze statistical information (such as a time series of statistical parameters of a wireless link, etc.) to generate ten samples of the statistical information. The ten samples of the statistical information may define a set of motion region parameters for the short time frame. In another example, the long time frame may be 1 hour (or 3600 seconds). For each second, the example process 500 may analyze statistical information (such as a time series of statistical parameters of a wireless link, etc.) to generate 36,000 samples of statistical information. The 36,000 samples of statistical information may define a set of motion region parameters for the long time frame, and may also enable the example process 500 to determine a motion region associated with the set of motion region parameters.
[0085] Reference now Figure 6 , presents a flow chart showing an example process 600 for identifying one or more motion regions where detected motion occurs. The example process 600 may occur within a time frame compared to the example process 500 and may be performed by a motion detection system. The motion detection system may be based on (e.g., as for Figure 1 2 or otherwise) through space (e.g., over a wireless link between wireless communication devices) to process information to detect motion of an object in space. The operations of process 600 may be performed by a remote computer system (e.g., a server in the cloud), a wireless communication device (e.g., one or more of the wireless communication devices), or another type of system. For example, the operations in example process 600 may be performed by Figure 1 This may be performed by one or more of the example wireless communication devices 102A, 102B, 102C.
[0086] The example process 600 may include additional or different operations, and these operations may be performed in the order shown or in another order. In some cases, Figure 6 One or more of the operations shown may be implemented as a process that includes multiple operations, sub-processes or other types of routines. In some cases, the operations may be combined, performed in another order, performed in parallel, iterated, or repeated or performed in another manner.
[0087] As indicated at query 602, the example process 600 identifies a database of long-term statistical information (such as information about Figure 5 If a confirmation is obtained, the example process 600 may execute program instructions to process the database of long-term statistical information using the short-term window, as shown in operation 604. If a confirmation is not obtained, the example process 600 may pause until the database of long-term statistical information is fully compiled and ready for access. The example process 600 may call another process (e.g., Figure 5 Process 500) to compile (or complete compiling) a database of long-term statistical information.
[0088] At operation 604, the example process 600 accesses a database of long-term statistical information, which may include accessing one or both of a memory for storing combined regional statistics and a memory for storing link-level regional statistics (as shown in block 606). The example process 600 then extracts features of the short-term statistical information by stepping through the database of long-term statistical information on a sliding window basis (as shown in operation 608). The sliding window basis may correspond to a plurality of time windows within a time interval of the long-term statistical information, and a plurality of samples of statistical information are generated for each time window. The samples of statistical information may include ranges of motion region parameters for each motion region within the time window. The ranges of motion region parameters may be based on any type of statistical parameter, such as mean, standard deviation, skewness, kurtosis, and the like.
[0089] The example process 600 may then store the samples of statistical information (and corresponding motion regions) in a memory of the motion detection system, which may represent a short-term prediction statistics storage memory as shown at block 610. The samples of statistical information and the respective motion regions may define a database of short-term statistical information.
[0090] As part of operations 604 and 608, the example process 600 may obtain a time series of statistical parameters derived from a set of channel response data. The channel response data is based on wireless signals communicated over a wireless link through space between wireless communication devices. The example process 600 may also identify time intervals in the time series of statistical parameters. Each time interval is associated with a corresponding motion region in space. In some instances, the example process 600 generates a set of motion region parameters for characterizing each motion region. Each set of motion region parameters is generated based on a portion of the time series of statistical parameters defined by each time interval.
[0091] In addition, as part of operations 604 and 608, the example process 600 can determine a range of motion region parameters associated with each respective motion region by analyzing multiple time windows within each time interval. In some instances, the multiple time windows overlap. In some instances, the multiple time windows do not overlap. The example process 600 can then store the range of motion region parameters for the respective motion regions in a database of the motion detection system. In subsequent operations described in further detail below, the example process 600 uses the range of motion region parameters to identify one of the motion regions based on the motion events detected by the motion detection system.
[0092] Upon completion of operations 604 and 608, the example process 600 can recreate events that occurred on the motion detection system when processing future incoming but unknown short-term data. By recreating the conditions encountered during the short-term prediction, but using known long-term statistical information, the example process 600 can evaluate the detailed short-term statistical distribution of the long-term statistical information. This evaluation can enable the example process 600 to prepare an algorithm for all short-term statistical changes observed by the motion detection system. The algorithm can help the example process 600 quickly identify one or more motion regions where the detected motion occurs.
[0093] At query 612, the example process 600 confirms that the database of short-term statistics is fully compiled and ready for access. Once confirmed, the example process 600 collects channel responses for each wireless link (or stream). The channel response may reflect motion (e.g., motion events) detected by the motion detection system in the space between the wireless communication devices. In a manner similar to Figure 5 In the sub-processes of operations 502-506, the example process 600 generates short-term statistics for each known motion region, as shown in operation 614. The short-term statistics may include a time series of statistical information and a set of motion region parameters, etc.
[0094] Then, as shown in operation 616, the example process 600 executes program instructions to compare the short-term statistics for each known motion region with the short-term statistics stored in the database of short-term statistics. This comparison may involve comparing, for each known motion region, a range of short-term statistics with a range of short-term statistics stored in the database. If the short-term statistics are sufficiently similar to the short-term statistics associated with one or more motion regions in the database (e.g., within a predetermined tolerance), the example process 600 identifies the one or more motion regions as the location where the detected motion occurs. This identification may correspond to an immediate estimation of the motion region for the detected motion.
[0095] As part of operations 604 and 608, the example process 600 uses the range of motion region parameters to identify one of the motion regions based on the motion events detected by the motion detection system. The example process 600 can analyze the range of motion region parameters to identify overlapping ranges of motion region parameters and non-overlapping parameter ranges of motion region parameters for one or more of the motion regions. In some examples, the range of motion region parameters includes an upper bound and a lower bound of a mean associated with the corresponding motion region. In some examples, the range of motion region parameters includes an upper bound and a lower bound of a standard deviation associated with the corresponding motion region.
[0096] Additionally, as part of operations 604 and 608, the example process 600 can generate motion region parameters for a motion event (or detected motion) based on a time series of statistical parameters generated in response to the motion event. The example process 600 can then compare the motion region parameters to a range of motion region parameters for respective motion regions, thereby identifying one of the motion regions as the location of the motion event. In some examples, the motion region parameters include a mean.
[0097] In some variations, the example process 600 executes program instructions to repeat the following operations in multiple iterations of respective time frames: obtaining a time series of statistical parameters, identifying a time interval, determining a range of motion region parameters, storing the range of motion region parameters, and using the range of motion region parameters. In these variations, the example process 600 determines a difference by comparing a subsequent range of motion region parameters from a subsequent time frame with a previous range of motion region parameters from a previous time frame. The example process 600 also updates the range of motion region parameters for the corresponding motion region in a database of the motion detection system based on the difference.
[0098] The databases of long-term and short-term statistics generated by the various processes 500 and 600 may be used to determine the contribution of each wireless link (or stream) to the identified one or more motion regions. In particular, subsequent processing may determine the contribution and overlap of each time series of statistical parameters to the one or more identified motion regions. Subsequent processing may also determine probabilities representing the extent to which short-term but unknown statistics from the example process 600 are related to a set of motion region parameters associated with the one or more identified motion regions. A confidence level may then be determined that characterizes the extent to which motion detected by the motion detection system is within the one or more identified motion regions.
[0099] For example, Fig. 7A A schematic diagram of three example motion regions each associated with a long term mean and a short term mean is presented. The short term mean parameter is illustrated with upper and lower bounds defining the range. Fig. 7A Motion region parameters are shown as means, but other statistical parameters (e.g., standard deviation, skewness, kurtosis, etc.) are possible. The ranges of the various short-term means can be compared to identify overlapping ranges and non-overlapping ranges. Overlapping ranges and non-overlapping ranges can determine boundaries that are specific to one or more motion regions, enabling mapping of unknown statistics to motion regions with a confidence level.
[0100] Figure 7B Presentation Fig. 7A, but with dedicated limits for one or more of the three motion regions. In particular, the first limit 700 is dedicated to a non-overlapping range of short-term means associated with motion region 3. The mean generated based on the unknown statistical data falling within the first limit 700 has a 100% probability of representing the short-term mean associated with motion region 1. In this way, for the detected motion that generates such unknown statistical data, a 100% confidence level can be assigned to motion region 1 as the location of the detected motion. Similarly, the second limit 702 is dedicated to a non-overlapping range of short-term means associated with motion region 2. The mean generated based on the unknown statistical data falling within the second limit 702 has a 100% probability of representing the short-term mean associated with motion region 2. In this way, for the detected motion that generates such unknown statistical data, a 100% confidence level can be assigned to motion region 2 as the location of the detected motion. However, the third limit 704 is dedicated to an overlapping range of short-term means associated with motion regions 1 and 3. In this case, the mean generated from the unknown statistical data falling within the third limit 704 has a 50% probability of representing the short-term mean of motion region 1 and a 50% probability of representing the short-term mean of motion region 3. Thus, for the detected motion that generates such unknown statistical data, a 50% confidence level can be assigned to each of the motion regions 1 and 3 as the location of the detected motion.
[0101] In some implementations, an example process for determining a confidence level includes obtaining a range of motion region parameters associated with each motion region in the space between wireless communication devices from a database of a motion detection system. The range of the motion region parameters is derived from a channel response data set based on a wireless signal communicated over a wireless link through the space. The example process also includes analyzing the range of the motion region parameters to identify an overlapping range of motion region parameters and a non-overlapping parameter range of the motion region parameters for one or more of the motion regions. The overlapping range and the non-overlapping range of the motion region parameters are stored in a database of the motion detection system. The example process additionally includes using the overlapping range and the non-overlapping range of the motion region parameters to identify one of the motion regions based on a motion event detected by the motion detection system. In some instances, the example process includes generating a motion region parameter for the motion event based on one or more time series of statistical parameters generated in response to the motion event. The example process may also include determining a confidence level based on the motion region parameters, the confidence level characterizing the extent to which the identified motion region represents the location of the motion event.
[0102] The example process may determine statistical boundaries between sets of motion region parameters, thereby generating non-overlapping ranges of motion region parameters. The statistical boundaries may assist in determining the confidence level. For example, once the motion region parameters are known for all discovered motion regions and all wireless links (such as motion region parameters found in a database of long-term statistical information, etc.), the sets of motion region parameters for each motion region may be classified by using a support vector machine (SVM). Each motion region represented in the database of long-term statistical information is considered to have a unique data set for the corresponding motion region parameter set. Statistical boundaries (such as hyperplanes, etc.) used to separate these unique data sets may also statistically separate the motion regions.
[0103] To determine statistical boundaries, an example process may group the data according to:
[0104]
[0105] here, represents the motion area parameters (e.g., mean, standard deviation, skewness, kurtosis, etc.); n represents the motion region label; and n represents the number of values in the unique data set. Then, the example process can use a support vector machine to generate a hyperplane. The hyperplane can be generated according to formula (8):
[0106]
[0107] Here, if Figure 8 As shown, represents the hyperplane and b / ||w|| is the shift of magnitude ||w|| away from the origin. Figure 8 A graph of two data sets 802, 804 separated by a hyperplane 806 is presented representing various motion region parameters. The hyperplane 806 is arranged between the data sets so as to maximize the distance to the data point in each data set that is closest to the hyperplane. Figure 8 The closest data points are placed at the points marked and on the dotted line.
[0108] The proximity of the motion region to the hyperplane 806 can enable a confidence level to be determined for the location of the motion detected by the motion detection system. The proximity or distance can be defined with reference to the standard deviation s, as calculated according to equation (9):
[0109]
[0110] Here, x i Represents a value in a unique data set; Represents the mean of the data set; and n represents the number of values in the unique data set. For example, if the hyperplane 806 is arranged to be at least one standard deviation away from the center (or mean) 808 of the data set, if the motion region is determined to be a location of motion, a 100% confidence level can be assigned to the motion region. However, as the distance between the center (or mean) 808 of the data set and the hyperplane 806 decreases, the confidence level decreases. If the hyperplane 806 is arranged very close to the center (or mean) 808 of the data set, the confidence level decreases to 50%. In this case, the motion region associated with the data set 802 can be identified as a location of motion, but a 50% confidence level can be assigned to the motion region.
[0111] In some implementations, determining the confidence level includes: determining a statistical boundary between a first value of a motion region parameter associated with the identified motion region and a second value of the motion region parameter associated with the second motion region. The statistical boundary represents an equal confidence level that a motion event occurred in the identified motion region or the second motion region. Determining the confidence level also includes: determining a distance of the motion region parameter from the statistical boundary toward the first value. The distance, as it increases toward the first value, corresponds to an increasing confidence level that the identified motion region represents the location of the motion event. In some instances, determining the statistical boundary includes: using a support vector machine to determine a hyperplane between the first value and the second value.
[0112] In some implementations, the example processing includes repeating the following operations in multiple iterations of respective time frames: obtaining ranges of motion region parameters, analyzing the ranges of motion region parameters, storing overlapping ranges and non-overlapping ranges of motion region parameters, and using overlapping ranges and non-overlapping ranges of motion region parameters. In these implementations, the example processing also includes: determining a difference by comparing subsequent overlapping ranges and subsequent non-overlapping ranges of motion region parameters from subsequent time frames with previous overlapping ranges and previous non-overlapping ranges of motion region parameters from previous time frames. The example processing additionally includes: updating one or both of the overlapping ranges and non-overlapping ranges of motion region parameters in a database of the motion detection system based on the difference.
[0113] In some implementations, the example process includes generating a set of motion region parameters (such as Figure 5 Each set of motion region parameters is generated based on a portion of a time series of statistical parameters defined by a corresponding time interval, and each time series of statistical parameters is based on a corresponding channel response data set. In some implementations, the example process includes determining a range of motion region parameters associated with each corresponding motion region by analyzing a plurality of time windows within each time interval. The example process may be performed in a manner similar to that described with respect to Figure 6 The range of the motion region parameter is determined in a similar manner as described in the example process 600 .
[0114] Reference now Fig. 9 , presents a flow chart illustrating an example process 900 for determining a location of motion in space traversed by a wireless signal. The example process 900 may be performed, for example, by a motion detection system. The motion detection system may be based on (e.g., as described with respect to Figure 1 2 or otherwise) through space (e.g., over a wireless link between wireless communication devices) to process information to detect motion of an object in space. The operations of process 900 may be performed by a remote computer system (e.g., a server in the cloud), a wireless communication device (e.g., one or more of the wireless communication devices), or another type of system. For example, the operations in example process 900 may be performed by Figure 1 The non-transitory computer-readable medium may also be stored in a computer program product (e.g., Figure 1 Instructions that are operable to perform one or more operations of process 900 when executed by an example wireless communication device 102A, 102B, 102C).
[0115] The example process 900 may include additional or different operations, and these operations may be performed in the order shown or in another order. Fig. 9 One or more of the operations shown may be implemented as a process that includes multiple operations, sub-processes or other types of routines. In some cases, the operations may be combined, performed in another order, performed in parallel, iterated, or repeated or performed in another manner.
[0116] As shown in operation 910, the example process 900 includes determining a plurality of motion regions and corresponding sets of motion region parameters using wireless signals communicated over a wireless link through space between wireless communication devices. The example process 900 may be performed according to the Fig.10 The program instructions of the example process 1000 described above implement operation 910. Thus, the example process 900 may accomplish the following: FIG. 3A to FIG. 3C , Figure 4 and Figure 5 One or more of the processes described.
[0117] As shown in operation 920, the example process 900 also includes: identifying one or more of the plurality of motion regions where motion occurs by determining a range of motion region parameters associated with each respective motion region. The example process 900 may be performed according to the Fig.11The program instructions of the example process 1100 described above implement operation 920. Thus, the example process 900 can complete the operation for FIG. 3A to FIG. 3C , Figures 4 to 6 One or more of the processes described.
[0118] As shown in operation 930, the example process 900 additionally includes determining a confidence level for one or more identified motion regions by analyzing overlapping ranges and non-overlapping ranges of motion region parameters. The example process 900 may be performed according to the Fig.12 The program instructions of the example process 1200 described above implement operation 930. Thus, the example process 900 can complete the operation for FIG. 3A to FIG. 3C , Figures 4 to 6 , FIG. 7A to FIG. 7B and Figure 8 One or more of the processes described.
[0119] Reference now Fig.10 , presents a flowchart illustrating an example process 1000 for determining a plurality of motion regions and corresponding sets of motion region parameters. The example process 1000 may be performed, for example, by a motion detection system. The motion detection system may be based on (e.g., as for Figure 1 2 or otherwise) through space (e.g., over a wireless link between wireless communication devices) to process information to detect motion of an object in space. The operations of process 1000 may be performed by a remote computer system (e.g., a server in the cloud), a wireless communication device (e.g., one or more of the wireless communication devices), or another type of system. For example, the operations in example process 1000 may be performed by Figure 1 The non-transitory computer-readable medium may also be stored in a computer program product (e.g., Figure 1 The example wireless communication device 102A, 102B, 102C) may be operable to perform one or more operations of the process 1000 when executed.
[0120] The example process 1000 may include additional or different operations, and these operations may be performed in the order shown or in another order. In some cases, Fig.10 One or more of the operations shown may be implemented as a process that includes multiple operations, sub-processes or other types of routines. In some cases, the operations may be combined, performed in another order, performed in parallel, iterated, or repeated or performed in another manner.
[0121] As shown in operation 1010, the example process 1000 includes: obtaining a channel response data set based on a wireless signal communicated on a wireless link through space between wireless communication devices within a time frame. The channel response data set includes a channel response data set for each wireless link. As shown in operation 1020, the example process 1000 also includes: generating a time series of statistical parameters for each wireless link based on the corresponding channel response data set. The time series of statistical parameters characterizes the statistical distribution of the corresponding channel response data set at consecutive time points in the time frame. As shown in operation 1030, multiple motion regions in space are determined based on changes in the time series of statistical parameters of each wireless link. In some instances, the time series of statistical parameters of each wireless link includes a mean. In some instances, the time series of statistical parameters of each wireless link includes a standard deviation.
[0122] As shown in operation 1040, the example process 1000 additionally includes generating a set of motion region parameters for characterizing each of the plurality of motion regions. Each set of motion region parameters is generated based on a portion of a time series of statistical parameters defined by a corresponding time interval. As shown in operation 1050, the example process 1000 further includes storing the plurality of motion regions and the sets of motion region parameters in a database of the motion detection system. As shown in operation 1060, the set of motion region parameters is used to identify one of the plurality of motion regions based on a motion event detected by the motion detection system.
[0123] In some implementations, the operation 1030 of determining multiple motion regions includes: identifying one or more time series of statistical parameters that change in amplitude by more than a predetermined amount within a time frame. The time boundaries in the time frame are associated with each change in amplitude of the one or more time series of statistical parameters. Operation 1030 may also include: determining the time interval by identifying the time boundaries of adjacent pairs of common time series that share the statistical parameters. Assigning motion regions to each portion of the one or more time series of statistical parameters within the corresponding time interval. The motion regions collectively define multiple motion regions. In a further implementation, the operation 1040 of generating a set of motion region parameters includes: generating motion region parameters for each portion of the one or more time series of statistical parameters assigned to the motion region. The motion region parameters characterize the statistical distribution of the portion within the corresponding time interval. Operation 1040 also includes: identifying motion region parameters associated with the common motion region, thereby defining a set of motion region parameters.
[0124] In some implementations, the time frame is a previous time frame, and the example process 1000 includes repeating the following operations in a subsequent time frame: obtaining a set of channel response data, generating a time series of statistical parameters, determining a plurality of motion regions, generating a set of motion region parameters, storing the plurality of motion regions, and using the set of motion region parameters. In these implementations, the example process 1000 includes determining a difference by comparing the set of motion region parameters from the subsequent time frame with the set of motion region parameters from the previous time frame. The example process 1000 also includes updating one or both of the plurality of motion regions and the set of motion region parameters in a database of the motion detection system based on the difference.
[0125] In some variations, determining the difference comprises identifying a new motion region and a new corresponding motion region parameter set. In these variations, updating one or both of the plurality of motion regions and the motion region parameter set comprises adding the new motion region and the new corresponding motion region parameter set to a database of the motion detection system.
[0126] In some variations, determining the difference includes: identifying a motion region present in the database at the end of both the subsequent time frame and the previous time frame. The motion region is associated with a subsequent motion region parameter set at the end of the subsequent time frame and a previous motion region parameter set at the end of the previous time frame. Determining the difference also includes: determining a difference between the subsequent motion region parameter set and the previous motion region parameter set. In these variations, updating one or both of the plurality of motion regions and the motion region parameter set includes: replacing the previous motion region parameter set in the database with the subsequent motion region parameter set based on the difference.
[0127] Reference now Fig.11 , presents a flow chart showing an example process 1100 for identifying one or more of a plurality of motion regions where motion occurs. The example process 1100 may be performed, for example, by a motion detection system. The motion detection system may be based on (e.g., as for Figure 1 2 or otherwise) through space (e.g., over a wireless link between wireless communication devices) to process information to detect motion of an object in space. The operations of process 1100 may be performed by a remote computer system (e.g., a server in the cloud), a wireless communication device (e.g., one or more of the wireless communication devices), or another type of system. For example, the operations in example process 1100 may be performed by Figure 1 The non-transitory computer-readable medium may also be stored in a computer program product (e.g., Figure 1Instructions that are operable to perform one or more operations of process 1100 when executed by an example wireless communication device 102A, 102B, 102C).
[0128] The example process 1100 may include additional or different operations, and these operations may be performed in the order shown or in another order. In some cases, Fig.11 One or more of the operations shown may be implemented as a process that includes multiple operations, sub-processes or other types of routines. In some cases, the operations may be combined, performed in another order, performed in parallel, iterated, or repeated or performed in another manner.
[0129] As shown in operation 1110, the example processing 1100 includes: obtaining a time series of statistical parameters derived from a set of channel response data. The channel response data is based on wireless signals communicated over a wireless link through space between wireless communication devices. As shown in operation 1120, the example processing 1100 also includes: identifying time intervals in the time series of statistical parameters. Each time interval is associated with a corresponding motion region in space. As shown in operation 1130, the example processing 1100 additionally includes: determining a range of motion region parameters associated with each corresponding motion region by analyzing multiple time windows within each time interval. In some instances, multiple time windows overlap. In some instances, multiple time windows do not overlap. As shown in operation 1140, the example processing 1100 also includes: storing the range of motion region parameters for each motion region in a database of the motion detection system. As shown in operation 1150, the range of motion region parameters is used to identify one of the motion regions based on motion events detected by the motion detection system.
[0130] In some implementations, the example process 1100 includes generating a set of motion region parameters for characterizing respective motion regions. Each set of motion region parameters is generated based on a portion of a time series of statistical parameters defined by a corresponding time interval. In some implementations, the example process 1100 includes analyzing a range of motion region parameters to identify overlapping ranges of motion region parameters and non-overlapping parameter ranges of motion region parameters for one or more of the motion regions. In some implementations, the range of motion region parameters includes an upper bound and a lower bound of a mean associated with the respective motion region. In some implementations, the range of motion region parameters includes an upper bound and a lower bound of a standard deviation associated with the respective motion region.
[0131] In some implementations, operation 1150 of using the range of motion region parameters includes generating a motion region parameter for the motion event based on a time series of statistical parameters generated in response to the motion event. Operation 1150 also includes comparing the motion region parameter with the range of motion region parameters for each corresponding motion region, thereby identifying one of the motion regions as the location of the motion event. In some examples, the motion region parameter includes a mean.
[0132] In some implementations, the example process 1100 includes: repeating the following operations in multiple iterations of respective time frames: obtaining a time series of statistical parameters, identifying a time interval, determining a range of motion region parameters, storing the range of motion region parameters, and using the range of motion region parameters. The example process 1100 also includes: determining a difference by comparing a subsequent range of motion region parameters from a subsequent time frame with a previous range of motion region parameters from a previous time frame. The example process 1100 additionally includes: updating the range of motion region parameters for the corresponding motion region in a database of the motion detection system based on the difference.
[0133] Reference now Fig.12 , presents a flow chart illustrating an example process 1200 for determining a confidence level of a motion region identified as a location of detected motion. The example process 1200 may be performed, for example, by a motion detection system. The motion detection system may be based on (e.g., as described with respect to Figure 1 2 or otherwise) through space (e.g., over a wireless link between wireless communication devices) to process information to detect motion of an object in space. The operations of process 1200 may be performed by a remote computer system (e.g., a server in the cloud), a wireless communication device (e.g., one or more of the wireless communication devices), or another type of system. For example, the operations in example process 1200 may be performed by Figure 1 The non-transitory computer-readable medium may also be stored in a computer program product (e.g., Figure 1 Instructions that are operable to perform one or more operations of process 1200 when executed by an example wireless communication device 102A, 102B, 102C).
[0134] The example process 1200 may include additional or different operations, and these operations may be performed in the order shown or in another order. In some cases, Fig.12 One or more of the operations shown in the above-mentioned embodiment may be implemented as a process including multiple operations, sub-processing or other types of routines. In some cases, the operations may be combined, performed in another order, performed in parallel, iterated, or repeated or performed in another manner.
[0135] As shown in operation 1210, the example process 1200 includes: obtaining ranges of motion region parameters associated with respective motion regions in the space between wireless communication devices from a database of a motion detection system. The ranges of the motion region parameters are derived from a set of channel response data based on wireless signals communicated over a wireless link through the space. As shown in operation 1220, the example process 1200 also includes: analyzing the ranges of the motion region parameters to identify overlapping ranges of the motion region parameters and non-overlapping parameter ranges of the motion region parameters for one or more of the motion regions. As shown in operation 1230, the overlapping ranges and non-overlapping ranges of the motion region parameters are stored in a database of the motion detection system. The example process 1200 additionally includes: using the overlapping ranges and non-overlapping ranges of the motion region parameters to identify one of the motion regions based on motion events detected by the motion detection system.
[0136] In some implementations, the example process 1200 includes: generating a motion region parameter for the motion event based on one or more time series of statistical parameters generated in response to the motion event. The example process 1200 also includes: determining a confidence level based on the motion region parameter, the confidence level characterizing the extent to which the identified motion region represents the location of the motion event. In a further implementation, the example process 1200 includes: determining a statistical boundary between a first value of the motion region parameter associated with the identified motion region and a second value of the motion region parameter associated with the second motion region. The statistical boundary represents an equal confidence level for motion events occurring in the identified motion region or the second motion region. The example process 1200 also includes: determining a distance of the motion region parameter from the statistical boundary toward the first value. The distance, when increasing toward the first value, corresponds to an increasing confidence level that the identified motion region represents the location of the motion event. In some instances, determining the statistical boundary includes: using a support vector machine to determine a hyperplane between the first value and the second value.
[0137] In some implementations, the example process 1200 includes repeating the following operations in multiple iterations of respective time frames: obtaining ranges of motion region parameters, analyzing the ranges of motion region parameters, storing overlapping ranges and non-overlapping ranges of motion region parameters, and using overlapping ranges and non-overlapping ranges of motion region parameters. In these implementations, the example process 1200 also includes determining a difference by comparing subsequent overlapping ranges and subsequent non-overlapping ranges of motion region parameters from subsequent time frames with previous overlapping ranges and previous non-overlapping ranges of motion region parameters from previous time frames. The example process 1200 additionally includes updating one or both of the overlapping ranges and non-overlapping ranges of motion region parameters in a database of the motion detection system based on the difference.
[0138] In some implementations, the example process 1200 includes generating a set of motion region parameters for characterizing each motion region. Each set of motion region parameters is generated based on a portion of a time series of statistical parameters defined by a corresponding time interval, and each time series of statistical parameters is based on a corresponding channel response data set. The example process 1200 may optionally determine a range of motion region parameters associated with each corresponding motion region by analyzing a plurality of time windows within each time interval.
[0139] Reference now Fig.13 , a block diagram illustrating an example wireless communication device 1300 is presented. Fig.13 As shown, the example wireless communication device 1300 includes an interface 1330, a processor 1310, a memory 1320, and a power supply unit 1340. A wireless communication device (e.g., Figure 1 Any of the wireless communication devices 102A, 102B, 102C of the wireless communication device 1300 may include additional or different components, and the wireless communication device 1300 may be configured to operate as described for the above examples. In some implementations, the interface 1330, the processor 1310, the memory 1320, and the power supply unit 1340 of the wireless communication device are housed together in a common housing or other assembly. In some implementations, one or more of the components of the wireless communication device may be separately housed, for example, in a separate housing or other assembly.
[0140] The example interface 1330 can communicate (receive, transmit or both) wireless signals. For example, the interface 1330 can be configured to communicate radio frequency (RF) signals formatted according to wireless communication standards (e.g., Wi-Fi, 4G, 5G, Bluetooth, etc.). In some implementations, the example interface 1330 includes a radio subsystem and a baseband subsystem. The radio subsystem may include, for example, a radio frequency circuit and one or more antennas. The radio subsystem may be configured to communicate radio frequency wireless signals on a wireless communication channel. As an example, the radio subsystem may include a radio chip, an RF front end, and one or more antennas. The baseband subsystem may include, for example, a digital electronic device configured to process digital baseband data. In some cases, the baseband subsystem may include a digital signal processor (DSP) device or another type of processor device. In some cases, the baseband system includes digital processing logic to operate the radio subsystem, communicate wireless network services through the radio subsystem, or perform other types of processing.
[0141] The example processor 1310 may, for example, execute instructions for generating output data based on data input. The instructions may include programs, codes, scripts, modules, or other types of data stored in the memory 1320. Additionally or alternatively, the instructions may be encoded as pre-programmed or reprogrammable logic circuits, logic gates, or other types of hardware or firmware components or modules. The processor 1310 may be or include a general-purpose microprocessor, as a dedicated coprocessor or another type of data processing device. In some cases, the processor 1310 performs high-level operations of the wireless communication device 1300. For example, the processor 1310 may be configured to execute or interpret software, scripts, programs, functions, executable files, or other instructions stored in the memory 1320. In some implementations, the processor 1310 is included in an interface 1330 or another component of the wireless communication device 1300.
[0142] Example memory 1320 may include computer-readable storage media, such as volatile memory devices, non-volatile memory devices, or both. Memory 1320 may include one or more read-only memory devices, random access memory devices, buffer memory devices, or a combination of these and other types of memory devices. In some instances, one or more components of the memory may be integrated or otherwise associated with another component of wireless communication device 1300. Memory 1320 may store instructions executable by processor 1310. For example, these instructions may include instructions for performing Fig. 9 One or more of the operations in the illustrated example process 900, Fig.10 One or more of the operations in the example process 1000 shown, Fig.11 One or more of the operations in the example process 1100 shown, or Fig.12 The illustrated example process 1200 includes instructions for one or more of the operations.
[0143] The example power supply unit 1340 provides power to other components of the wireless communication device 1300. For example, the other components may operate based on the power provided by the power supply unit 1340 through a voltage bus or other connection. In some implementations, the power supply unit 1340 includes a battery or battery system, such as a rechargeable battery. In some implementations, the power supply unit 1340 includes an adapter (e.g., an AC adapter) that receives an external power signal (from an external source) and converts the external power signal into an internal power signal that is conditioned for use with the components of the wireless communication device 1300. The power supply unit 1320 may include other components or operate in other ways.
[0144] Some of the themes and operations described in this specification can be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or a combination of one or more of these structures. Some of the themes described in this specification can be implemented as one or more computer programs (i.e., one or more modules of computer program instructions), which are encoded on a computer storage medium for execution by a data processing device or for controlling the operation of a data processing device. A computer storage medium can be or be included in the following: a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. In addition, although a computer storage medium is not a propagation signal, a computer storage medium can be a source or destination of a computer program instruction encoded in an artificially generated propagation signal. A computer storage medium can also be or be included in the following: one or more separate physical components or media (e.g., multiple CDs, disks or other storage devices).
[0145] Portions of the operations described in this specification may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
[0146] The term "data processing equipment" covers all kinds of equipment, devices and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip, or a plurality or combination of the foregoing. The equipment may include special-purpose logic circuits, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the equipment may also include code for creating an execution environment for the computer program in question, for example, code constituting processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them.
[0147] A computer program (also known as a program, software, software application, script or code) can be written in any form of programming language including a compiled language or an interpreted language, a declarative language or a procedural language, and it can be deployed in any form, including being deployed as a stand-alone program or being deployed as a module, component, subroutine, object or other unit suitable for use in a computing environment. A computer program can but need not correspond to a file in a file system. A program can be stored in a portion of a file, where the file is used to keep other programs or data (e.g., one or more scripts stored in a markup language document) in a single file dedicated to the program, or in multiple coordination files (e.g., a file for storing a portion of one or more modules, subroutines or codes). A computer program can be deployed to execute on one computer, or on multiple computers located at one site, or distributed across multiple sites and interconnected by a communication network.
[0148] Some of the processes and logic flows described in this specification can be performed by executing one or more computer programs by one or more programmable processors to perform actions by operating on input data and generating output. These processes and logic flows can also be performed by special purpose logic circuits, and the device can also be implemented as special purpose logic circuits, such as FPGAs (field programmable gate arrays) or ASICs (application-specific integrated circuits).
[0149] To provide interaction with a user, operations may be implemented on a computer having a display device (e.g., a monitor or other type of display device) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse, trackball, tablet computer, touch-sensitive screen, or other type of pointing device) through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including sound, voice, or tactile input. In addition, a computer may interact with a user by sending and receiving documents relative to a device used by the user (e.g., by sending a web page to a web browser on a user's client device in response to a request received from the web browser).
[0150] Although this specification contains many details, these details should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features specific to particular examples. Certain features described in this specification or shown in the drawings in the context of separate implementations may also be combined. Conversely, various features described or shown in the context of a single implementation may also be implemented in multiple embodiments separately or in any suitable subcombination.
[0151] Similarly, although these operations are depicted in the accompanying drawings in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in sequence, or performing all of the operations shown, in order to achieve the desired result. In certain circumstances, multitasking and parallel processing may be advantageous. In addition, the separation of various system components in the implementation described above should not be understood as requiring these separations in all implementations, and it should be understood that the program components and systems described can usually be integrated together into a single product or packaged into multiple products.
[0152] A number of embodiments have been described. However, it should be understood that various modifications can be made. Therefore, other embodiments are within the scope of the following claims.
Claims
1. A method for identifying a motion region, comprising: obtaining, from a database of a motion detection system, ranges of motion region parameters associated with respective motion regions in a space between wireless communication devices, the ranges of motion region parameters being derived from a set of channel response data based on wireless signals communicated over a wireless link through the space; analyzing the ranges of the motion region parameters to identify overlapping ranges of motion region parameters and non-overlapping ranges of motion region parameters for one or more of the motion regions; storing overlapping ranges and non-overlapping ranges of motion region parameters in a database of the motion detection system; as well as using overlapping ranges and non-overlapping ranges of motion region parameters to identify one of the motion regions based on motion events detected by the motion detection system; Each motion region parameter is generated based on one or more time series of statistical parameters of channel response data of a wireless link associated with the corresponding motion region.
2. The method according to claim 1, comprising: generating a motion region parameter for the motion event based on one or more time series of statistical parameters generated in response to the motion event; as well as A confidence level characterizing the extent to which the identified motion region represents the location of the motion event is determined based on the motion region parameters.
3. The method according to claim 2, wherein: Determining the confidence level includes: determining a statistical boundary between a first value of a motion region parameter associated with the identified motion region and a second value of a motion region parameter associated with a second motion region, the statistical boundary representing an equal confidence level that a motion event occurred in the identified motion region or the second motion region; and determining a distance of the motion region parameter from the statistical boundary toward the first value, Wherein the distance, as it increases towards the first value, corresponds to an increasing level of confidence that the identified motion region represents the location of the motion event.
4. The method according to claim 3, wherein: Determining the statistical boundary includes using a support vector machine to determine a hyperplane between the first value and the second value.
5. The method according to claim 1, wherein: The method comprises: Repeating the operations of obtaining ranges of motion region parameters, analyzing the ranges of motion region parameters, storing overlapping ranges and non-overlapping ranges of motion region parameters, and using the overlapping ranges and non-overlapping ranges of motion region parameters in a plurality of iterations of respective time frames; determining a difference by comparing a subsequent overlapping range and a subsequent non-overlapping range of the motion region parameters from a subsequent time frame with a previous overlapping range and a previous non-overlapping range of the motion region parameters from a previous time frame; and One or both of the overlapping range and the non-overlapping range of motion region parameters are updated in a database of the motion detection system based on the difference.
6. The method according to claim 1 or any one of claims 2 to 4, comprising: A motion region parameter set for characterizing each motion region is generated, each motion region parameter set is generated according to a portion of a time series of statistical parameters defined by a corresponding time interval, each time series of statistical parameters is based on a corresponding channel response data set.
7. The method according to claim 6, comprising: A range of motion region parameters associated with each respective motion region is determined by analyzing a plurality of time windows within each of the time intervals.
8. A system for identifying a motion region, comprising: Wireless communication devices in a wireless communication network, configured to exchange wireless signals over wireless links, each wireless link being defined between a corresponding pair of wireless communication devices; one or more processors; as well as A memory for storing instructions configured to perform operations when executed by the one or more processors, the operations comprising: obtaining, from a database of a motion detection system, a range of motion region parameters associated with respective motion regions in a space between wireless communication devices, wherein each motion region parameter is generated based on one or more time series of statistical parameters of channel response data of a wireless link associated with the corresponding motion region, and the range of the motion region parameter is derived from a set of channel response data based on wireless signals communicated on the wireless link through the space; analyzing the ranges of the motion region parameters to identify overlapping ranges of motion region parameters and non-overlapping ranges of motion region parameters for one or more of the motion regions; storing overlapping ranges and non-overlapping ranges of motion region parameters in a database of the motion detection system; and Overlapping ranges and non-overlapping ranges of motion region parameters are used to identify one of the motion regions based on motion events detected by the motion detection system.
9. The system of claim 8, wherein the operations include: generating a motion region parameter for the motion event based on one or more time series of statistical parameters generated in response to the motion event; as well as A confidence level characterizing the extent to which the identified motion region represents the location of the motion event is determined based on the motion region parameters.
10. The system according to claim 9, wherein: Determining the confidence level includes: determining a statistical boundary between a first value of a motion region parameter associated with the identified motion region and a second value of a motion region parameter associated with a second motion region, the statistical boundary representing an equal confidence level that a motion event occurred in the identified motion region or the second motion region; and determining a distance of the motion region parameter from the statistical boundary toward the first value, Wherein the distance, as it increases towards the first value, corresponds to an increasing level of confidence that the identified motion region represents the location of the motion event.
11. The system according to claim 10, wherein: Determining the statistical boundary includes using a support vector machine to determine a hyperplane between the first value and the second value.
12. The system of claim 8, wherein the operations include: Repeating the operations of obtaining ranges of motion region parameters, analyzing the ranges of motion region parameters, storing overlapping ranges and non-overlapping ranges of motion region parameters, and using the overlapping ranges and non-overlapping ranges of motion region parameters in a plurality of iterations of respective time frames; determining a difference by comparing a subsequent overlapping range and a subsequent non-overlapping range of the motion region parameters from a subsequent time frame to a previous overlapping range and a previous non-overlapping range of the motion region parameters from a previous time frame; as well as One or both of the overlapping range and the non-overlapping range of motion region parameters are updated in a database of the motion detection system based on the difference.
13. The system according to claim 8 or any one of claims 9 to 11, wherein the operation comprises: A motion region parameter set for characterizing each motion region is generated, each motion region parameter set is generated according to a portion of a time series of statistical parameters defined by a corresponding time interval, each time series of statistical parameters is based on a corresponding channel response data set.
14. The system of claim 13, wherein the operations include: A range of motion region parameters associated with each respective motion region is determined by analyzing a plurality of time windows within each of the time intervals.
15. A non-transitory computer-readable medium storing instructions that, when executed by a data processing device, cause the data processing device to perform operations comprising: obtaining, from a database of a motion detection system, a range of motion region parameters associated with respective motion regions in a space between wireless communication devices, wherein each motion region parameter is generated based on one or more time series of statistical parameters of channel response data of a wireless link associated with the corresponding motion region, and the range of the motion region parameter is derived from a set of channel response data based on wireless signals communicated on the wireless link through the space; analyzing the ranges of the motion region parameters to identify overlapping ranges of motion region parameters and non-overlapping ranges of motion region parameters for one or more of the motion regions; storing overlapping ranges and non-overlapping ranges of motion region parameters in a database of the motion detection system; and Overlapping ranges and non-overlapping ranges of motion region parameters are used to identify one of the motion regions based on motion events detected by the motion detection system.
16. The computer-readable medium of claim 15, the operations comprising: generating a motion region parameter for the motion event based on one or more time series of statistical parameters generated in response to the motion event; as well as A confidence level characterizing the extent to which the identified motion region represents the location of the motion event is determined based on the motion region parameters.
17. The computer-readable medium of claim 16, wherein: Determining the confidence level includes: determining a statistical boundary between a first value of a motion region parameter associated with the identified motion region and a second value of a motion region parameter associated with a second motion region, the statistical boundary representing an equal confidence level that a motion event occurred in the identified motion region or the second motion region; and determining a distance of the motion region parameter from the statistical boundary toward the first value, Wherein the distance, as it increases towards the first value, corresponds to an increasing level of confidence that the identified motion region represents the location of the motion event.
18. The computer-readable medium of claim 17, wherein: Determining the statistical boundary includes using a support vector machine to determine a hyperplane between the first value and the second value.
19. The computer-readable medium of claim 15, the operations comprising: Repeating the operations of obtaining ranges of motion region parameters, analyzing the ranges of motion region parameters, storing overlapping ranges and non-overlapping ranges of motion region parameters, and using the overlapping ranges and non-overlapping ranges of motion region parameters in a plurality of iterations of respective time frames; determining a difference by comparing a subsequent overlapping range and a subsequent non-overlapping range of the motion region parameters from a subsequent time frame to a previous overlapping range and a previous non-overlapping range of the motion region parameters from a previous time frame; as well as One or both of the overlapping range and the non-overlapping range of motion region parameters are updated in a database of the motion detection system based on the difference.
20. The computer-readable medium of claim 15 or any one of claims 16 to 18, wherein the operations comprise: A motion region parameter set for characterizing each motion region is generated, each motion region parameter set is generated according to a portion of a time series of statistical parameters defined by a corresponding time interval, each time series of statistical parameters is based on a corresponding channel response data set.
21. The computer readable medium of claim 20, the operations comprising: A range of motion region parameters associated with each respective motion region is determined by analyzing a plurality of time windows within each of the time intervals.
Citation Information
Patent Citations
Motion detection based on groupings of statistical parameters of wireless signals
US10048350B1
Detecting motion based on decompositions of channel response variations
US10051414B1
Motion detection based on machine learning of wireless signal properties
US10108903B1
Motion localization in a wireless mesh network based on motion indicator values
US10109167B1
Motion localization based on channel response characteristics
US10109168B1