Motion zones that determine the location of motion detected by wireless signals

By analyzing the channel information and beamforming technology of the wireless communication network, using the time series of statistical parameters, the number of wireless communication devices is reduced, and the problems of large space occupation and high computing load in the prior art are solved, and efficient motion detection is achieved.

CN114026451BActive Publication Date: 2025-08-12COGNITIVE SYST
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN201980097465.4
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-08-12
Estimated Expiration
2039-08-28

AI Technical Summary

Technical Problem

The existing motion detection system requires multiple wireless communication devices to determine the motion area, which takes up a large space and has high computing load, making it difficult to operate on a data processing device with low processing capabilities.

Method used

By analyzing channel information in the wireless communication network, using beamforming techniques and time series of statistical parameters, the number of wireless communication devices is reduced, and a lightweight calculation process is relied on to determine unique and separable motion regions.

Benefits of technology

The system device footprint is reduced, the motion area coverage is increased, and it is suitable for operation on data processing devices with low processing capabilities, achieving efficient motion detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114026451B_ABST
    Figure CN114026451B_ABST
Patent Text Reader

Abstract

In general, a method for determining a motion region of a location of motion detected by a wireless signal is presented. In some aspects, the method includes obtaining a time series of statistical parameters derived from a set of channel response data. The method also includes identifying time intervals in the time series of statistical parameters, each time interval being associated with a corresponding motion region in space. The method additionally 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 method also includes storing the range of motion region parameters for the corresponding motion region in a database of a motion detection system. The range of motion region parameters is used to identify one of the motion regions based on a motion event detected by the motion detection system.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. patent application No. 16 / 413,114, filed May 15, 2019, which is hereby incorporated by reference in its entirety. Background Art

[0003] The following description relates to determining motion zones for locations of motion detected by wireless signals.

[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] Figures 2A-2B is a diagram illustrating example wireless signals communicated between wireless communication devices.

[0007] Figure 3A is a graph in perspective of an example wireless signal communicated over a wireless link through space between two wireless communication devices.

[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 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] Figures 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 each motion region.

[0015] Figure 9 is a flow chart illustrating an example process for determining the location of motion in space traversed by a wireless signal.

[0016] Figure 10 is a flow chart illustrating an example process for determining multiple motion regions and corresponding sets of motion region parameters.

[0017] Figure 11 is a flow chart illustrating an example process for identifying one or more of a plurality of motion regions where motion occurs.

[0018] Figure 12 is a flow chart illustrating an example process for determining a confidence level for a motion region identified as a location of detected motion.

[0019] Figure 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 communicate wirelessly 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 the 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 can be a fraction of the size of conventional methods. This advantage can reduce the system's device footprint and also increase the motion region coverage footprint. In addition, the systems and techniques described herein rely on processing of statistical information, which can be implemented with a relatively light computational load. As such, 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 can be analyzed to determine channel information for different communication links in the network (between each pair of wireless communication devices). Channel information can represent the physical medium used to apply a transfer function to wireless signals passing through space. In some instances, channel information includes a channel response. The channel response can characterize the physical communication path, thereby representing the combined effects of, for example, scattering, fading, and power attenuation within the space between the transmitter and the receiver. In some instances, the 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 can be achieved by operating the elements in an antenna array in such a way that signals at specific angles undergo constructive interference, while other signals undergo destructive interference.

[0023] Channel information for each communication link can 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 space, to determine the relative location of the detected motion, or both. In some aspects, channel information for each communication link can be analyzed to detect the presence or absence of an object, for example, when no motion is detected in 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 in a Wireless Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,133,979, entitled “Motion Localization Based on Channel Response Variations”; U.S. Patent 10,134,979, entitled “Motion Localization Based on Channel Response Variations”; U.S. Patent 10,135,979, entitled “Motion Localization Based on Channel Response Variations”; U.S. Patent 10,136,979, entitled “Motion Localization Based on Channel Response Variations”; U.S. Patent 10,137,979, entitled “Motion Localization Based on Channel Response Variations”. 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, and 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 operate in a wireless network, for example, 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 other types of wireless networks. 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 Networks that operate with near field communication (NFC), ZigBee, and millimeter wave communications.

[0027] In some implementations, the wireless communication devices 102A, 102B, 102C can 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 LTE-Advanced (LTE-A); and 5G standards; among others.

[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 the 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., smartphones, 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 illustrated example, wireless communication devices (e.g., in accordance with 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 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 wireless communication devices 102A and 102C can be used to detect a first motion detection zone 110A, the wireless communication link between wireless communication devices 102B and 102C can be used to detect a second motion detection zone 110B, and the wireless communication link between wireless communication devices 102A and 102B can be used to detect a third motion detection zone 110C. In some examples, motion detection zones 110 can include, for example, air, solid material, liquid, or another medium through which wireless electromagnetic signals can 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, apparatus or assembly, an object defining 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 the 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 a 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, for example, 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 the 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 illustrated 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 illustrating 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, but may be other types of wireless communication devices.

[0036] In some cases, a combination of one or more of wireless communication devices 204A, 204B, and 204C may be part of, or used by, a motion detection system. Example wireless communication devices 204A, 204B, and 204C may transmit wireless signals through space 200. Example space 200 may be fully or partially enclosed or open at one or more boundaries of space 200. Space 200 may be or include the interior of a room, multiple rooms, a building, an indoor or outdoor area, and the like. In the illustrated example, first wall 202A, second wall 202B, and third wall 202C at least partially enclose space 200.

[0037] exist Figure 2A and Figure 2BIn the illustrated example, the first wireless communication device 204A repeatedly transmits a wireless motion detection signal (e.g., periodically, intermittently, at predetermined, unscheduled, or random intervals, etc.). The second and third wireless communication devices 204B and 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 the initial time (t0) in , the object is at the 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 objects in the space 200 are represented as humans, but the moving objects may be another type of object. For example, the moving objects may be animals, inorganic objects (e.g., systems, devices, equipment, or assemblies), objects that define all or part of the boundaries of the space 200 (e.g., walls, doors, windows, etc.), or another type of object.

[0039] like Figure 2A and Figure 2B As shown, multiple example paths of wireless signals transmitted from the first wireless communication device 204A are illustrated by dashed lines. Along a first signal path 216, a 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 a second signal path 218, a 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 a third signal path 220, a 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 a fourth signal path 222, a 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, along the fifth signal path 224A, a wireless signal is transmitted from the first wireless communication device 204A and reflected from an object at the first location 214A toward the third wireless communication device 204C. Figure 2A 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 is shown as 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 portions that propagate in another direction, such as through walls 202A, 202B, and 202C. In some examples, the wireless signals are radio frequency (RF) signals. Wireless signals may include other types of signals.

[0042] The transmission signal may have multiple frequency components within a frequency bandwidth. The transmission signal may be transmitted from the first wireless communication device 204A in an omnidirectional manner, a directional manner, or in other manners. In the illustrated example, the wireless signal travels through multiple corresponding paths in the space 200, and the signal along each path may become attenuated due to path loss, scattering, reflection, etc., and may have a phase shift or frequency shift.

[0043] like Figure 2A and Figure 2B As shown, signals from various paths 216, 218, 220, 222, 224A, and 224B are combined at third wireless communication device 204C and second wireless communication device 204B to form a received signal. Due to the influence of multiple paths in space 200 on the transmitted signal, space 200 can be represented as a transfer function (e.g., a filter) that inputs the transmitted signal and outputs the received signal. If an object moves in space 200, the attenuation or phase shift of the signal in the affected signal path may change, and thus the transfer function of space 200 may change. If the transfer function of space 200 changes when the same wireless signal is transmitted from first wireless communication device 204A, 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. Conversely, in some cases, if the transfer function of the space does not change, the output of the transfer function (the 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; e.g., 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 formula (2) into formula (3) yields the following formula (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 for a corresponding frequency component (n frequency ω n For the frequency ω n The frequency component at can be expressed as the complex value Y in equation (5) as follows n :

[0053]

[0054] Given 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 may be processed for each of a plurality of devices in a wireless network. 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, beamforming can be performed between devices based on some knowledge of the communication channel (e.g., feedback properties generated by a receiver), which can be used to generate one or more steering properties (e.g., a steering matrix) 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 indicated by the channel response, or the steering or feedback properties, or any combination thereof).

[0056] In some implementations, for example, a steering matrix can be generated at a transmitter device (beamforming transmitter) based on a feedback matrix provided by a receiver device (beamforming receiver) based on channel sounding. Because the steering matrix and feedback matrix are related to the propagation characteristics of the channel, these matrices change as objects move within the channel. Changes in the channel characteristics are reflected in these matrices accordingly, and by analyzing the matrices, motion can be detected and different characteristics of the detected motion can be determined. In some implementations, a spatial map can be generated based on one or more beamforming matrices. The spatial map can indicate the general direction of objects in space relative to the wireless communication device. In some cases, the spatial map can be generated using a "pattern" of a beamforming matrix (e.g., a feedback matrix or a steering matrix). The spatial map can be used to detect the presence of motion in space or to detect the location of the detected motion.

[0057] Now refer to 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 within 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 corresponding to frequency bins and time steps, respectively. The graph represents the example wireless signal as a set of channel responses comprising individual channel responses for each time step. Figure 3B Presentation Figure 3A FIG. 1 is a graph of example individual channel responses for an example wireless signal 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 frequency bins may vary as time progresses through the time steps. Figure 4 A and Figure 4 B depicts the amplitude of the power of the individual channel responses as continuous across frequency bins, but the amplitude may also be discontinuous. For example, the amplitude of the power may include discrete amplitude points across the frequency range, such that one or more amplitude points reside in each frequency bin.

[0058] Figure 3C Present 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 about 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 this amplitude as the wireless signal progresses in time between a pair of adjacent time steps (i.e., t→t+1). When this difference is determined for each frequency bin from f+0 to f+n, it captures the evolution of the wireless signal between the pair of adjacent time steps. Equation (6) averages the differences by dividing the sum of the differences between each frequency bin by the number of frequency bins n, thereby producing the mean 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 (e.g., 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 sum, product and quotient, etc.

[0062] A time series of statistical parameters can be used to determine motion regions in the space between wireless communication devices and to characterize motion region parameters for each motion region. In some implementations, a channel response data set based on wireless signals communicated over wireless links is obtained within a time frame. The wireless signals traverse the space between the wireless communication devices. The channel response data set includes one 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] Motion regions can be spatially determined based on changes in a time series of statistical parameters of the wireless link. For example, a time series of standard deviations can be analyzed within a time frame to determine whether the magnitude of the standard deviation increases or decreases by more than 30% within that time frame. In another example, a standard deviation can be determined for a time series of means within a time frame. The time series of means can then be analyzed to determine the time points at which their magnitude increases or decreases outside the standard deviation. In these examples, temporal boundaries can be associated with each change in magnitude of the time series of the statistical parameters within 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 4 shows an example time series of statistical parameters 402 as a continuous line. However, the example time series of statistical parameters 402 can be represented by a discrete sequence of data points. The time series of statistical parameters 402 can include one or more amplitude changes 406 that are greater than a predetermined amount, for example, a change greater than a standard deviation about a mean 408. Temporal boundaries 410 are associated with each amplitude change 406 within the time frame 404. Adjacent pairs of temporal boundaries 410 in the time series of statistical parameters 402 can be used to determine the time intervals of respective motion regions. In particular, motion regions can be assigned to respective 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 (wherein three motion regions 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 can 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 the 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 a statistical parameter 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 the statistical parameter. Time intervals (such as those regarding the time series) are determined by identifying temporal boundaries of adjacent pairs of common time series that share the statistical parameter. Figure 4 The motion regions can then be assigned to respective portions of the one or more time series of statistical parameters within corresponding time intervals. Individual motion regions can be common to more than one of the one or more time series of statistical parameters (or corresponding wireless links). The motion regions collectively define multiple motion regions.

[0067] A set of motion region parameters can 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 defined by a corresponding time interval. For example, referring to equation (6), according to equation (7), a time series M of mean values can be used to generate the motion region parameter.

[0068]

[0069] Here, the motion area parameters is the 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 is Characterizes the statistical distribution of this part within 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 means defined by time intervals 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. 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 one or more time series to which statistical parameters of a motion region are assigned. The motion region parameters characterize a statistical distribution of the portion within a corresponding time interval. In these implementations, generating a set of motion region parameters also includes identifying motion region parameters associated with a common motion region, thereby defining the set of motion region parameters.

[0072] Now refer to Figure 5 , presents a flowchart illustrating an example process 500 for determining one or more motion regions, such as performed by a motion detection system. The motion detection system may be based on (e.g., as for Figure 1 2 or otherwise) to process information from wireless signals transmitted through space (e.g., over a wireless link between wireless communication devices) 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 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 one 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 vectors as output from operation 504 and combine these vectors to form a matrix. The matrix may then be input into a memory of the 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 a plurality of motion regions in space based on changes in the time series of statistical parameters for each wireless link. A motion region parameter set is then generated to characterize each of the plurality of motion regions. Each motion region parameter set is generated based on a portion of the time series of statistical parameters defined by a corresponding time interval. The example process 500 may additionally store the plurality of motion regions and the motion region parameter sets in a database of a motion detection system. The database of the motion detection system may include a memory 508 for storing combined region statistics. In subsequent operations (not shown), the process 500 may use the motion region parameter set to identify one of the plurality of motion regions based on motion events detected by the motion detection system.

[0077] After completing operations 504-506, the example process 500 determines whether any statistical information from the previous time frame corresponds to a motion region detected in the subsequent time frame, as indicated by query 510. If so, the example process 500 proceeds to determine whether the detected motion region has been previously identified by the motion detection system, as indicated by operation 512. Thus, the example process 500 may compare the motion region parameter set generated for the detected motion region with the motion region parameter set stored in the combined region statistics storage memory. If not, the vectors for each wireless link are stored in a third memory of the motion detection system, which may 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, as shown in operation 516, the example process 500 identifies the detected motion region as a new motion region. 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 a new entry 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 linked 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 for 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 linked region statistics storage memory with the generated motion region parameter set.

[0080] It can be done by iterating over the timeframe Figure 5 The example process 500 is depicted. For example, the iteration may include subsequent time frames occurring after the time frame (or 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 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. The example process 500 may also determine 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 500 may also update 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. The database of the motion detection system may be stored in part in the flow data collection memory 502, the memory for storing combined region statistics 508, and the memory for storing link-level region statistics 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 the 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 existed 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. Furthermore, 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 identify motion regions and corresponding sets of motion region parameters that are cataloged to define a database. A database, which can serve as a reference database, can be compiled over a timeframe long enough for all motion regions in a space to be determined and characterized by statistical information. In some variations, the timeframe occurs over 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 present during at least a portion of the timeframe, or alternatively, compile the database when motion is absent during the timeframe. Once compiled, the database can be accessed by subsequent processes to assist in identifying one or more motion regions where detected motion occurs over a shorter timeframe. The duration of the shorter timeframe can be sufficient to enable determination of a few (e.g., 2 to 5) samples of statistical information, and in some instances, to enable determination of tens (e.g., 20 to 60) samples of statistical information. In some variations, the shorter timeframe is no longer 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) to generate ten samples of the statistical information. The ten samples of the statistical information may define a motion region parameter set 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) to generate 36,000 samples of the statistical information. The 36,000 samples of the statistical information may define a motion region parameter set for the long time frame and may also enable the example process 500 to determine a motion region associated with the motion region parameter set.

[0085] Now refer to Figure 6 , presents a flow chart illustrating 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 comparable 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 directed to Figure 1 2 or otherwise) to process information from wireless signals transmitted through space (e.g., over a wireless link between wireless communication devices) 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 by 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 statistics, which may include accessing one or both of a memory for storing combined region statistics and a memory for storing link-level region statistics (as shown in block 606). The example process 600 then extracts features of the short-term statistics by stepping through the database of long-term statistics on a sliding window basis (as shown in operation 608). The sliding window basis may correspond to multiple time windows within the time interval of the long-term statistics, and a number of samples of statistics are generated for each time window. The samples of statistics may include ranges of motion region parameters for each motion region within the time window. The ranges of the motion region parameters may be based on any type of statistical parameter, such as mean, standard deviation, skewness, kurtosis, etc.

[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 examples, the example process 600 generates a set of motion region parameters to characterize 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] Furthermore, as part of operations 604 and 608, the example process 600 may 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 may 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 a motion event detected by the motion detection system.

[0092] Upon completing operations 604 and 608, the example process 600 can recreate the 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 responses 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.

[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 the 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 occurred. 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 upper and lower bounds of a mean value associated with the corresponding motion region. In some examples, the range of motion region parameters includes upper and lower bounds of a standard deviation associated with the corresponding motion region.

[0096] Furthermore, as part of operations 604 and 608, the example process 600 can generate a motion region parameter for the motion event (or detected motion) based on the time series of statistical parameters generated in response to the motion event. The example process 600 can then compare the motion region parameter with a 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.

[0097] In some variations, the example process 600 executes program instructions to repeat the following operations over 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 statistical information generated by each of the processes 500 and 600 can be used to determine the contribution of each wireless link (or stream) to the one or more identified motion regions. In particular, subsequent processing can determine the contribution and overlap of each time series of statistical parameters to the one or more identified motion regions. Subsequent processing can also determine a probability representing the extent to which the short-term, but unknown, statistical data from the example process 600 is correlated with a set of motion region parameters associated with the one or more identified motion regions. A confidence level can then be determined that characterizes the extent to which the motion detected by the motion detection system is within the one or more identified motion regions.

[0099] For example, Figure 7A Schematic diagrams are presented showing three example motion regions each associated with a long-term mean and a short-term mean. The short-term mean parameter is illustrated with upper and lower bounds defining the range. Figure 7A The 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 and non-overlapping ranges. The overlapping and non-overlapping ranges can determine one or more motion region-specific boundaries that enable mapping of unknown statistics to motion regions with a confidence level.

[0100] Figure 7B Presentation Figure 7A, but with dedicated limits for one or more of the three motion regions. Specifically, first limit 700 is specific to a non-overlapping range of short-term means associated with motion region 3. Means generated from unknown statistics falling within first limit 700 have a 100% probability of representing the short-term mean associated with motion region 1. Thus, for detected motion that generated such unknown statistics, a 100% confidence level can be assigned to motion region 1 as the location of the detected motion. Similarly, second limit 702 is specific to a non-overlapping range of short-term means associated with motion region 2. Means generated from unknown statistics falling within second limit 702 have a 100% probability of representing the short-term mean associated with motion region 2. Thus, for detected motion that generated such unknown statistics, a 100% confidence level can be assigned to motion region 2 as the location of the detected motion. However, third limit 704 is specific 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 that falls 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 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, 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 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. The example process also includes analyzing the ranges of the motion region parameters to identify overlapping ranges of the motion region parameters and non-overlapping ranges of the motion region parameters for one or more of the motion regions. The overlapping ranges and non-overlapping ranges of the motion region parameters are stored in the database of the motion detection system. The example process additionally includes using the overlapping ranges and non-overlapping ranges 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 motion region parameters 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 degree to which the identified motion region represents the location of the motion event.

[0102] The example process can determine statistical boundaries between sets of motion region parameters, thereby generating non-overlapping ranges of motion region parameters. The statistical boundaries can 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 the motion region parameters found in a database of long-term statistical information), the motion region parameter sets for each motion region can be classified 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. The statistical boundaries (such as hyperplanes) used to separate these unique data sets can 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, as 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 placed 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 dataset; 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 at least one standard deviation away from the center (or mean) 808 of the data set, then 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 process includes repeating the following operations over multiple iterations for respective time frames: obtaining ranges for motion region parameters, analyzing the ranges for motion region parameters, storing overlapping ranges and non-overlapping ranges for motion region parameters, and using the overlapping ranges and non-overlapping ranges for motion region parameters. In these implementations, the example process also includes comparing subsequent overlapping ranges and subsequent non-overlapping ranges for motion region parameters from subsequent time frames with previous overlapping ranges and previous non-overlapping ranges for motion region parameters from previous time frames to determine a difference. The example process additionally includes updating one or both of the overlapping ranges and non-overlapping ranges for 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 set of channel response data. In some implementations, the example process includes determining a range of motion region parameters associated with each corresponding motion region by analyzing multiple time windows within each time interval. The example process can 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] Now refer to Figure 9 , presents a flow chart illustrating an example process 900 for determining the 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) to process information from wireless signals transmitted through space (e.g., over a wireless link between wireless communication devices) 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 that is processed by a data processing device (e.g., Figure 1 The example wireless communication devices 102A, 102B, 102C) may be operable to perform one or more operations of the process 900 when executed by the example wireless communication devices 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. In some cases, Figure 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 Figure 10 The program instructions of the example process 1000 described herein implement operation 910. Thus, the example process 900 may accomplish the following: Figures 3A to 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. Figure 11The program instructions of the example process 1100 described herein implement operation 920. Thus, the example process 900 may complete the process for Figures 3A to 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. Figure 12 The program instructions of the example process 1200 described herein implement operation 930. Thus, the example process 900 may complete the process for Figures 3A to 3C 、 Figures 4 to 6 、 7A to 7B and Figure 8 One or more of the processes described.

[0119] Now refer to Figure 10 , presents a flow chart 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) to process information from wireless signals transmitted through space (e.g., over a wireless link between wireless communication devices) 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 that is processed by a data processing device (e.g., Figure 1 The example wireless communication devices 102A, 102B, 102C) may be operable to perform one or more operations of the process 1000 when executed by the example wireless communication devices 102A, 102B, 102C.

[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, Figure 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 for each wireless link. In some instances, the time series of statistical parameters for each wireless link includes a mean. In some instances, the time series of statistical parameters for 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 a statistical parameter 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 set 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, operation 1030 of determining multiple motion regions includes identifying one or more time series of statistical parameters that vary in amplitude by more than a predetermined amount within a time frame. Temporal boundaries within the time frame are associated with respective variations in amplitude of the one or more time series of statistical parameters. Operation 1030 may also include determining time intervals by identifying temporal boundaries of adjacent pairs of common time series that share the statistical parameter. Motion regions are assigned to respective portions of the one or more time series of statistical parameters within respective time intervals. The motion regions collectively define a plurality of motion regions. In further implementations, operation 1040 of generating a set of motion region parameters includes generating motion region parameters for respective portions of the one or more time series of statistical parameters to which the motion region is assigned. The motion region parameters characterize the statistical distribution of the portion within the respective time interval. Operation 1040 also includes identifying motion region parameters associated with the common motion region, thereby defining the 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 comparing the set of motion region parameters from the subsequent time frame with the set of motion region parameters from the previous time frame to determine a difference. 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 includes 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 includes 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 a 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] Now refer to Figure 11 , presents a flow chart illustrating 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) to process information from wireless signals transmitted through space (e.g., over a wireless link between wireless communication devices) 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 that is processed by a data processing device (e.g., Figure 1Instructions that, when executed by an example wireless communication device 102A, 102B, 102C) are operable to perform one or more operations of the process 1100.

[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, Figure 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, example process 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, example process 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, example process 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, the multiple time windows overlap. In some instances, the multiple time windows do not overlap. As shown in operation 1140, example process 1100 also includes storing the range of motion region parameters for each motion region in a database of a 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 a motion event 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 a statistical parameter defined by a corresponding time interval. In some implementations, the example process 1100 includes analyzing 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. In some implementations, the ranges of the motion region parameters include upper and lower bounds on a mean associated with the respective motion region. In some implementations, the ranges of the motion region parameters include upper and lower bounds on 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 over 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] Now refer to Figure 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) to process information from wireless signals transmitted through space (e.g., over a wireless link between wireless communication devices) 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 that is processed by a data processing device (e.g., Figure 1 Instructions that, when executed by an example wireless communication device 102A, 102B, 102C) are operable to perform one or more operations of process 1200.

[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, Figure 12 One or more of the operations shown in the foregoing may be implemented as a process comprising 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 otherwise repeated or performed in another manner.

[0135] As shown in operation 1210, the example process 1200 includes: 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 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 motion region parameters and non-overlapping parameter ranges of 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 the 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 a motion event 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 a motion event 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, 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.

[0137] In some implementations, the example process 1200 includes repeating the following operations over multiple iterations for respective time frames: obtaining ranges for motion region parameters, analyzing the ranges for motion region parameters, storing overlapping ranges and non-overlapping ranges for motion region parameters, and using the overlapping ranges and non-overlapping ranges for 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 for motion region parameters from subsequent time frames with previous overlapping ranges and previous non-overlapping ranges for 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 for 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 set of channel response data. The example process 1200 can optionally determine a range of motion region parameters associated with each corresponding motion region by analyzing multiple time windows within each time interval.

[0139] Now refer to Figure 13 , a block diagram illustrating an example wireless communication device 1300 is presented. Figure 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, and 102C may include additional or different components, and the wireless communication device 1300 may be configured to operate as described with respect to the above examples. In some implementations, the interface 1330, processor 1310, memory 1320, and 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 separate housings or other assemblies.

[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 over 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 can, for example, execute instructions for generating output data based on data input. The instructions can include programs, codes, scripts, modules, or other types of data stored in the memory 1320. Additionally or alternatively, the instructions can be encoded as pre-programmed or re-programmable logic circuits, logic gates, or other types of hardware or firmware components or modules. The processor 1310 can be or include a general-purpose microprocessor, a special-purpose 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 can 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 the 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 Figure 9 One or more of the operations in the illustrated example process 900, Figure 10 One or more of the operations in the illustrated example process 1000, Figure 11 One or more of the operations in the example process 1100 shown, or Figure 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 via 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) that 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 computer program instructions 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 can 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" encompasses all kinds of equipment, devices and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip, or multiple or combinations of the foregoing. The equipment may include dedicated 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 these.

[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 compiled or interpreted languages, declarative or procedural languages, and can be deployed in any form, including as a standalone program or 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 that 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 coordinated files (e.g., a file for storing a portion of one or more modules, subroutines, or code). A computer program can be deployed to execute on one computer, or to execute 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 one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. These processes and logic flows can also be performed by, and devices can also be implemented as, special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

[0149] To provide for 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, 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 for 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. Additionally, a computer may interact with a user by sending and receiving documents with respect 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 accompanying 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 particular order, this should not be understood as requiring that these operations be performed in the particular order shown or sequentially, or that all of the operations shown be performed, 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 implementations 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 generally 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 a time series of statistical parameters derived from a set of channel response data based on wireless signals communicated over a wireless link through space between wireless communication devices; identifying time intervals in the time series of the statistical parameter, each time interval being associated with a corresponding motion region in the space; determining a range of motion region parameters associated with each corresponding motion region by analyzing a plurality of time windows within each of the time intervals; storing the range of motion region parameters of the corresponding motion region in a database of the motion detection system; using the range of motion region parameters to identify one of the motion regions based on motion events detected by the motion detection system; Repeating the operations of obtaining a time series of the 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 a plurality of iterations of respective time frames; determining a difference by comparing a subsequent range of motion region parameters from a subsequent time frame to a previous range of motion region parameters from a previous time frame; and The range of the motion region parameter of the corresponding motion region is updated in a database of the motion detection system based on the difference.

2. The method according to claim 1, wherein The scope of using the 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; and The motion region parameters are compared 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.

3. The method according to claim 2, wherein: The motion region parameter includes a mean value.

4. The method according to any one of claims 1 to 3, wherein The range of the motion region parameter includes an upper bound and a lower bound of a mean value associated with the corresponding motion region.

5. The method according to any one of claims 1 to 3, wherein The range of the motion region parameter includes an upper bound and a lower bound of a standard deviation associated with the corresponding motion region.

6. The method according to any one of claims 1 to 3, wherein The multiple time windows do not overlap.

7. The method according to any one of claims 1 to 3, comprising: A motion region parameter set for characterizing each motion region is generated, wherein each motion region parameter set is generated according to a portion of a time series of a statistical parameter defined by a corresponding time interval.

8. The method according to any one of claims 1 to 3, comprising: The ranges of the motion region parameters are analyzed 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.

9. 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, when executed by the one or more processors, perform operations comprising: obtaining a time series of statistical parameters derived from a set of channel response data based on wireless signals communicated over a wireless link through space between wireless communication devices; identifying time intervals in the time series of the statistical parameter, each time interval being associated with a corresponding motion region in the space; determining a range of motion region parameters associated with each corresponding motion region by analyzing a plurality of time windows within each of the time intervals; storing the range of motion region parameters of the corresponding motion region in a database of the motion detection system; using the range of motion region parameters to identify one of the motion regions based on motion events detected by the motion detection system; Repeating the operations of obtaining a time series of the 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 a plurality of iterations of respective time frames; determining a difference by comparing a subsequent range of motion region parameters from a subsequent time frame to a previous range of motion region parameters from a previous time frame; and The range of the motion region parameter of the corresponding motion region is updated in a database of the motion detection system based on the difference.

10. The system according to claim 9, wherein The scope of using the 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; and The motion region parameters are compared 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.

11. The system according to claim 10, wherein: The motion region parameter includes a mean value.

12. The system according to any one of claims 9 to 11, wherein: The range of the motion region parameter includes an upper bound and a lower bound of a mean value associated with the corresponding motion region.

13. The system according to any one of claims 9 to 11, wherein: The range of the motion region parameter includes an upper bound and a lower bound of a standard deviation associated with the corresponding motion region.

14. The system according to any one of claims 9 to 11, wherein: The multiple time windows do not overlap.

15. The system according to any one of claims 9 to 11, wherein the operations comprise: A motion region parameter set for characterizing each motion region is generated, wherein each motion region parameter set is generated according to a portion of a time series of a statistical parameter defined by a corresponding time interval.

16. The system according to any one of claims 9 to 11, wherein the operations comprise: The ranges of the motion region parameters are analyzed 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.

17. 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 a time series of statistical parameters derived from a set of channel response data based on wireless signals communicated over a wireless link through space between wireless communication devices; identifying time intervals in the time series of the statistical parameter, each time interval being associated with a corresponding motion region in the space; determining a range of motion region parameters associated with each corresponding motion region by analyzing a plurality of time windows within each of the time intervals; storing the range of motion region parameters of the corresponding motion region in a database of the motion detection system; using the range of motion region parameters to identify one of the motion regions based on motion events detected by the motion detection system; Repeating the operations of obtaining a time series of the 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 a plurality of iterations of respective time frames; determining a difference by comparing a subsequent range of motion region parameters from a subsequent time frame to a previous range of motion region parameters from a previous time frame; and The range of the motion region parameter of the corresponding motion region is updated in a database of the motion detection system based on the difference.

18. The computer-readable medium of claim 17, wherein: The scope of using the 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; and The motion region parameters are compared 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.

19. The computer-readable medium of claim 18, wherein: The motion region parameter includes a mean value.

20. The computer-readable medium according to any one of claims 17 to 19, wherein: The range of the motion region parameter includes an upper bound and a lower bound of a mean value associated with the corresponding motion region.

21. The computer-readable medium according to any one of claims 17 to 19, wherein: The range of the motion region parameter includes an upper bound and a lower bound of a standard deviation associated with the corresponding motion region.

22. The computer-readable medium according to any one of claims 17 to 19, wherein: The multiple time windows do not overlap.

23. The computer-readable medium of any one of claims 17 to 19, the operations comprising: A motion region parameter set for characterizing each motion region is generated, wherein each motion region parameter set is generated according to a portion of a time series of a statistical parameter defined by a corresponding time interval.

24. The computer-readable medium of any one of claims 17 to 19, the operations comprising: The ranges of the motion region parameters are analyzed 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.

25. A computer program product comprising instructions which, when executed by a data processing apparatus, cause the data processing apparatus to perform the method according to any one of claims 1 to 8.

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

  • Detecting motion based on repeated wireless transmissions

    US9523760B1