Determine a movement area in a space through which a wireless signal passes
By analyzing wireless signals in the wireless communication network and detecting the moving areas in the space, the problem of requiring a large number of wireless communication devices in the prior art is solved, and less device footprint and higher moving areas coverage are achieved.
Patent Information
- Application Number
- CN201980097479.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-15
- Filing Date
- 2019-08-28
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2039-08-28
AI Technical Summary
When the existing motion detection system determines the motion area in the space through which the wireless signal passes, it requires at least one wireless communication device to be each motion area, resulting in a large space occupancy and high cost.
By analyzing the wireless signals received at each wireless communication device in the wireless communication network, the moving areas in the space are detected, and the identification and positioning of the moving areas are achieved using fewer wireless communication devices.
The number of wireless communication devices in the system is reduced, the device footprint and cost are reduced, and the coverage area of the moving area is increased.
Smart Images

Figure CN114026452B_ABST
Abstract
Description
[0001] Cross - Reference to Related Applications
[0002] This application claims priority to U.S. Patent Application 16 / 413,109, filed on May 15, 2019, the entire content of which is incorporated herein by reference. Background Art
[0003] The following description relates to determining a region of motion in a space through which a wireless signal passes.
[0004] Motion detection systems have been used to detect the movement of objects in, for example, a room or an outdoor area. In some example motion detection systems, infrared or optical sensors are used to detect the movement of an object within the field of view of the sensor. 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 showing an example wireless communication system.
[0006] Figure 2A - 2B is a diagram showing an example wireless signal communicating between wireless communication devices.
[0007] Figure 3A is a graph in a perspective view of an example wireless signal communicating over a wireless link through the space between two wireless communication devices.
[0008] Figure 3B is Figure 3A a graph in the frequency domain of an example individual channel response of an example wireless signal of
[0009] Figure 3C is Figure 3A a graph in the time domain of the burst pulse portion of an example wireless signal of
[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 flowchart showing an example process for determining one or more regions of motion, such as by a motion detection system.
[0012] Figure 6 is a flowchart showing an example process for identifying one or more regions of motion where the detected motion occurs.
[0013] Figure 7A - 7B is a schematic diagram of three example regions of motion, each associated with a long - term mean and a short - term mean.
[0014] Figure 8 It is a graph of two data sets separated by a hyperplane representing the parameters of respective motion regions.
[0015] Figure 9 It is a flowchart showing an example process for determining the position of motion in the space through which a wireless signal passes.
[0016] Figure 10 It is a flowchart showing an example process for determining a plurality of motion regions and corresponding sets of motion region parameters.
[0017] Figure 11 It is a flowchart showing an example process for identifying one or more of a plurality of motion regions in which motion occurs.
[0018] Figure 12 It is a flowchart showing an example process for determining a confidence level of a motion region identified as the position of a detected motion.
[0019] Figure 13 It is a block diagram showing an example wireless communication device. DETAILED DESCRIPTION
[0020] In some aspects described herein, information from multiple wireless communication devices that wirelessly communicate with each other (e.g., via wireless signals) can be used to detect the position of motion 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 position of the motion. Statistical metrics such as confidence levels can be calculated for one or more of the identified motion regions. The multiple motion regions can be determined by monitoring the interference or excitation of wireless signals passing through the space. Once the multiple motion regions are determined, they can be associated with motion region statistics and collective information stored in a database. The position of future motion events can be determined by referring 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 the determination of distinct and separable motion regions using fewer wireless communication devices than traditional methods. Traditional methods often utilize at least one (and possibly more) wireless communication device for each motion region. In contrast, the systems and techniques disclosed herein enable a smaller number of devices per motion region, which can be a fraction of that of traditional methods. This advantage can reduce the device footprint of the system and can also increase the motion region coverage footprint. Additionally, the systems and techniques described herein rely on the processing of statistical information, which can be achieved with a relatively light computational load. As such, the systems and techniques are suitable for operating on data processing devices without high processing capabilities. As will be presented below, other improvements and advantages are possible.
[0022] In some instances, wireless signals received at respective wireless communication devices in a wireless communication network can be analyzed to determine channel information for different communication links (between pairs of wireless communication devices) in the network. Channel information can represent the physical medium for applying a transfer function to wireless signals traveling through space. In some instances, the channel information includes a channel response. The channel response can characterize the physical communication path and thus represent the combined effects of, for example, scattering, fading, and power attenuation within the space between a transmitter and a 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 such that signals at a particular angle experience constructive interference while other signals experience destructive interference.
[0023] The channel information for each communication link can be analyzed (e.g., by a hub device or other device in the wireless communication network, or a remote device communicatively coupled to the network) to detect whether motion has occurred in space, to determine the relative position of the detected motion, or both. In some aspects, the channel information for each communication link can be analyzed to detect the presence or absence of an object, for example, in the case where 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 and other techniques: U.S. Patent No. 9,523,760 titled "Detecting Motion Based on Repeated Wireless Transmissions"; U.S. Patent No. 9,584,974 titled "Detecting Motion Based on Reference Signal Transmissions"; U.S. Patent No. 10,051,414 titled "Detecting Motion Based On Decompositions Of Channel Response Variations"; U.S. Patent No. 10,048,350 titled "Motion Detection Based on Groupings of Statistical Parameters of Wireless Signals"; U.S. Patent No. 10,108,903 titled "Motion Detection Based on Machine Learning of Wireless Signal Properties"; U.S. Patent No. 10,109,167 titled "Motion Localization in a Wireless Mesh Network Based on Motion Indicator Values"; U.S. Patent No. 10,109,168 titled "Motion Localization Based on Channel Response Characteristics".
[0025] Figure 1 FIG. shows an example wireless communication system 100. The example wireless communication system 100 includes three wireless communication devices 102A, 102B, 102C. The example wireless communication system 100 may include additional wireless communication devices 102 and / or other components (e.g., one or more network servers, network routers, network switches, cables, or other communication links, etc.).
[0026] Example wireless communication devices 102A, 102B, 102C may operate in a wireless network, for example, according to 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 according to 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 that operate according to short-range communication standards (e.g., Bluetooth near-field communication (NFC), ZigBee), as well as millimeter-wave communication, etc.
[0027] In some implementations, wireless communication devices 102A, 102B, 102C may be configured to communicate in a cellular network, for example, according to a cellular network standard. Examples of cellular networks include networks configured according to the following standards: 2G standards such as Global System for Mobile Communications (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; and so on.
[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 access points of a wireless mesh network (such as commercially available mesh network systems (e.g., GOOGLE Wi-Fi, EERO mesh system, etc.), etc.). In some instances, one or more of the wireless communication devices 102 may be implemented as wireless access points (APs) in a mesh network, while one or more other wireless communication devices 102 are implemented as leaf devices (e.g., mobile devices, smart devices, etc.) that access the mesh network through one of the APs. In some cases, one or more of the wireless communication devices 102 are mobile devices (e.g., smartphones, smartwatches, 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] In Figure 1In the example shown, wireless communication devices (e.g., according to a wireless network standard or a non-standard wireless communication protocol) transmit wireless signals to each other over a wireless communication link, and the wireless signals communicated between the devices can be used as motion detectors to detect the motion of an object 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] In Figure 1 the example shown, the wireless communication link between wireless communication devices 102A and 102C can be used to detect a first motion detection area 110A, the wireless communication link between wireless communication devices 102B and 102C can be used to detect a second motion detection area 110B, and the wireless communication link between wireless communication devices 102A and 102B can be used to detect a third motion detection area 110C. In some instances, the motion detection area 110 can include, for example, air, solid materials, liquids, or another medium through which a wireless electromagnetic signal can propagate.
[0031] In Figure 1 the example shown, in the case where an object moves in any of the motion detection areas within the motion detection area 110, the motion detection system can detect the motion based on the signals transmitted through the associated motion detection area 110. Generally, the object can be any type of static or movable object, and can be living or inanimate. For example, the object can be a human (e.g., Figure 1 the person 106 shown), an animal, an inorganic object, or another device, equipment, or assembly, an object that defines all or part of the boundary of a space (e.g., a wall, a door, a window, etc.), or another type of object.
[0032] In some examples, the wireless signal can propagate through a structure (e.g., a wall) before or after interacting with a moving object, which can enable the detection of the movement of the moving object without a line of sight between the moving object and the transmitting or receiving hardware. In some instances, the motion detection system can communicate a 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 (such as software or firmware) on the wireless communication device. For example, each device may process the received wireless signals to detect motion based on changes detected in the communication channel. In some cases, another device (such as 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 may send channel information to a central device or system for performing operations of the motion detection system.
[0034] In an example aspect of the operation, the wireless communication devices 102A, 102B may broadcast wireless signals or addressed wireless signals to other wireless communication devices 102C, and the wireless communication device 102C (and possibly other devices) receives the wireless signals transmitted by the wireless communication devices 102A, 102B. Then, the wireless communication device 102C (or another system or device) processes the received wireless signals to detect the motion of an object in the space accessed by the wireless signals (such as in regions 110A, 11B). In some instances, the wireless communication device 102C (or another system or device) may perform one or more operations of the Figure 6 example processing 600 described above, or another type of processing for detecting motion.
[0035] Figure 2A and 2B FIG. is a diagram showing example wireless signals communicated between wireless communication devices 204A, 204B, 204C. The wireless communication devices 204A, 204B, 204C may be, for example, Figure 1 the wireless communication devices 102A, 102B, 102C shown above, or may be other types of wireless communication devices.
[0036] In some cases, a combination of one or more of the wireless communication devices 204A, 204B, 204C may be part of a motion detection system or may be used by a motion detection system. The example wireless communication devices 204A, 204B, 204C may transmit wireless signals through the space 200. The example space 200 may be completely or partially enclosed or open at one or more boundaries of the space 200. The space 200 may be or may include the interior of a room, multiple rooms, a building, an indoor area, an outdoor area, etc. In the example shown, the first wall 202A, the second wall 202B, and the third wall 202C at least partially enclose the space 200.
[0037] In Figure 2A and Figure 2BIn the example shown, the first wireless communication device 204A transmits a wireless motion detection signal repeatedly (e.g., periodically, intermittently, at predetermined, non-predetermined, or random intervals, etc.). The second wireless communication device 204B and the third wireless communication device 204C receive signals based on the motion detection signal transmitted by the wireless communication device 204A.
[0038] As shown in the figure, at Figure 2A the initial time (t0), the object is at the first position 214A, and at Figure 2B a subsequent time (t1), the object has moved to the second position 214B. In Figure 2A and Figure 2B the moving object in the space 200 is represented as a human, but the moving object can be another type of object. For example, the moving object can be an animal, an inorganic object (e.g., a system, a device, an equipment, or an assembly), an object for defining all or part of the boundary of the space 200 (e.g., a wall, a door, a window, etc.), or another type of object.
[0039] As Figure 2A and Figure 2B shown, multiple example paths of the wireless signal transmitted from the first wireless communication device 204A are shown by dashed lines. Along the first signal path 216, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the first wall 202A towards the second wireless communication device 204B. Along the second signal path 218, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the second wall 202B and the first wall 202A towards the third wireless communication device 204C. Along the third signal path 220, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the second wall 202B towards the third wireless communication device 204C. Along the fourth signal path 222, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the third wall 202C towards the second wireless communication device 204B.
[0040] In Figure 2A along the fifth signal path 224A, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the object at the first position 214A towards the third wireless communication device 204C. At the time t0 in Figure 2A and Figure 2B the time t1 in Figure 2B 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. In Figure 2B 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 towards the third wireless communication device 204C. Since the object moves from the first position 214A to the second position 214B,Figure 2B The sixth signal path 224B shown is longer than Figure 2A the fifth signal path 224A shown. In some examples, due to the movement of an object in space, signal paths can be added, removed, or otherwise modified.
[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 components that propagate in another direction, for example, through walls 202A, 202B, and 202C. In some examples, the wireless signal is a radio frequency (RF) signal. The wireless signal can include other types of signals.
[0042] The transmitted signal can have multiple frequency components in a frequency bandwidth. The transmitted signal can be transmitted from the first wireless communication device 204A in an omni - directional manner, in a directional manner, or otherwise. In the example shown, the wireless signal travels through multiple corresponding paths in space 200, and the signals along each path may become attenuated due to path loss, scattering, or reflection, etc., and may have a phase offset or a frequency offset.
[0043] As Figure 2A and Figure 2B shown, the signals from the various paths 216, 218, 220, 222, 224A, and 224B are combined at the third wireless communication device 204C and the second wireless communication device 204B to form a received signal. Due to the effects of the multiple paths in space 200 on the transmitted signal, space 200 can be represented as a transfer function (e.g., a filter) that takes an input transmitted signal and outputs a received signal. In the case where an object moves in space 200, the attenuation or phase shift of the signals in the affected signal paths can change, and thus the transfer function of space 200 can vary. In the case of transmitting the same wireless signal from the first wireless communication device 204A, if the transfer function of space 200 changes, the output of this 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 transmitted signal f(t) transmitted from the first wireless communication device 204A can be described according to Equation (1):
[0045]
[0046] where ω n represents the frequency of the nth frequency component of the transmitted signal, c nThe complex coefficient representing the n-th 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 path k can be described according to Equation (2) k (t):
[0047]
[0048] where α n,k represents the attenuation factor (or channel response; e.g., the channel response due to scattering, reflection, and path loss) of the n-th frequency component along path k, and φ n,k represents the phase of the signal of the n-th frequency component along path k. Then, the received signal R at the wireless communication device can be described as the sum of all output signals r k (t) from all paths to the wireless communication device, which is shown in Equation (3):
[0049]
[0050] Substituting Equation (2) into Equation (3) gives the following Equation (4):
[0051]
[0052] Then, for example, the received signal R at the wireless communication device can be analyzed to detect movement. For example, using the 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 each frequency component in the corresponding frequency components (n frequencies ω n ) at the frequencies. For the frequency component at frequency ω n , the complex value Y n can be represented as follows in Equation (5):
[0053]
[0054] The complex value of a given frequency component ω n indicates the relative amplitude and phase shift of the received signal at that frequency component ω n . When an object moves in space, due to the continuous change of the channel response α n,k in space, the complex value Y n changes. Therefore, the detected change in the channel response (and thus the complex value Y n ) can indicate the movement of the object within the communication channel. Conversely, a stable channel response can indicate the absence of movement. Therefore, in some implementations, the complex values Y n, to detect whether movement has occurred in the space through which the transmitted signal f(t) passes.
[0055] In 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 attributes generated by the receiver), and this beamforming can be used to generate one or more steering attributes (e.g., steering matrix) applied by the transmitter to shape the transmission beam / signal in one or more specific directions. Thus, a change in the steering or feedback attributes used in the beamforming process indicates a change that may be caused by a moving object in the space accessed by the wireless communication system. For example, movement can be detected through significant changes in the communication channel over a period of time (as indicated by the channel response, or steering or feedback attributes, or any combination thereof).
[0056] In some implementations, for example, a steering matrix can be generated at the transmitter device (beamforming transmitter) based on a feedback matrix provided by the receiver device (beamforming receiver) based on channel sounding. Since the steering matrix and the feedback matrix are related to the propagation characteristics of the channel, these matrices change as the object moves within the channel. The change in the channel characteristics is correspondingly reflected in these matrices, and by analyzing the matrices, movement can be detected and different characteristics of the detected movement 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 an object in the space relative to the wireless communication device. In some cases, the "modes" of the beamforming matrix (e.g., feedback matrix or steering matrix) can be used to generate the spatial map. The spatial map can be used to detect the presence of movement in the space or to detect the location of the detected movement.
[0057] Now refer to Figure 3A , a graph in a stereogram of an example wireless signal communicating over a wireless link through the space between two wireless communication devices is presented. The graph depicts the power of the example wireless signal in the frequency range from f+0 to f+n and over a time frame from t+0 to t+m. Here, n and m are integers and correspond to frequency bins and time steps, respectively. The graph represents the example wireless signal as a set of channel responses including the individual channel responses for each time step. Figure 3B Present Figure 3A A graph in the frequency domain of an example individual channel response of the example wireless signal presented in Figure 3A and Figure 3BThe individual channel responses are described as having a constant amplitude and being invariant over time. However, the amplitude of the power of each channel response can vary between frequency sub - intervals, and the amplitude of the power of each frequency sub - interval can vary over time as the time steps progress. Although Figure 4 A and Figure 4 B depict the amplitude of the power of the individual channel responses as continuous across frequency sub - intervals, but the amplitude can also be discontinuous. For example, the amplitude of the power can include discrete amplitude points across a frequency range such that one or more amplitude points reside in each frequency sub - interval.
[0058] Figure 3C A graph of a portion of an exemplary wireless signal presented from a time perspective over multiple time steps Figure 3A . Each time step corresponds to a burst of electromagnetic power associated with an individual channel response in a set of channel responses. The bursts of electromagnetic power can be centered on the individual time steps. For example, Figure 3C depicts the wireless signal as having three such bursts centered on the individual time steps t + 2, t + 3, and t + 4. However, for the exemplary wireless signal, other numbers and positions of time steps are possible.
[0059] Then, the set of channel responses (or the set of channel response data) can be processed to generate a time series of statistical parameters. For example, the set of channel responses can be processed according to Equation (6) to generate a time series of the mean, denoted by M:
[0060]
[0061] Here, H represents the amplitude of the electromagnetic power within the frequency sub - interval f + k, and the term in the brackets represents the difference in that amplitude as the wireless signal progresses in time between a pair of adjacent time steps (i.e., t → t + 1). When determining this difference for each frequency sub - interval from f + 0 to f + n, this difference captures the evolution of the wireless signal between this pair of adjacent time steps. Equation (6) averages this difference by dividing the sum of the differences for each frequency sub - interval by the number of frequency sub - intervals n, thereby yielding the mean M t+1 . The mean characterizes the statistical distribution of the differences and can be determined for each pair of adjacent time steps in a 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) yields a mean to characterize the statistical distribution, other statistical parameters are possible (e.g., standard deviation, range or spread, skewness, and kurtosis, etc.). Additionally, the statistical distribution can be based on mathematical operations other than differences (or combinations thereof), such as summation, product, and quotient, etc.
[0062] A time series of statistical parameters can be used to determine a region of motion in space between wireless communication devices and for characterizing region-of-motion parameters for each region of motion. In some implementations, a set of channel response data based on wireless signals communicated over a wireless link is obtained within a time frame. The wireless signals travel through the space between the wireless communication devices. The set of channel response data includes a set of channel response data for each wireless link. A time series of statistical parameters can be generated for each wireless link based on the corresponding set of channel response data. The time series of statistical parameters characterizes the statistical distribution of the corresponding set of channel response data at successive time points within the time frame.
[0063] A region of motion can be determined in space based on changes in the time series of statistical parameters of a 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 has increased or decreased 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 time points at which its magnitude has increased or decreased outside of the standard deviation. In these instances, time boundaries can be associated with each change in magnitude of the time series of statistical parameters within the time frame.
[0064] Figure 4 A graph 400 is presented showing an example time series of statistical parameters 402 in a time frame 404 for a wireless link. In Figure 4 the example time series of statistical parameters 402 is depicted 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 magnitude changes 406 that are greater than a predetermined amount, e.g., changes that are greater than the standard deviation about a mean 408. Time boundaries 410 are associated with each magnitude change 406 within the time frame 404. Adjacent pairs of time boundaries 410 in the time series of statistical parameters 402 can be used to determine time intervals for each region of motion. In particular, a region of motion can be assigned to each portion of the time series of statistical parameters 402 within the corresponding time interval. Figure 4 The time series of statistical parameters 402 is depicted as having four time intervals and four corresponding regions of motion (where three of the regions of motion are all unique). However, other numbers of time intervals and corresponding regions of motion are possible. Additionally, the time intervals need not be of the same duration and can be of different durations.
[0065] Although Figure 4depicts a time series of statistical parameters of a single wireless link, 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 regions of movement in space. In particular, multiple regions of movement can be determined in space based on changes in the time series of statistical parameters of each wireless link. For example, if a single wireless link does not uniquely "see" a region of movement (e.g., the magnitude of the statistical parameters from one time interval is approximately equal to the magnitude of the statistical parameters from another time interval), then 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. Regarding Figure 7A to 7B and Figure 8 the determination of unique regions of movement is further discussed. In some instances, the time series of statistical parameters of each wireless link includes a mean. In some instances, the time series of statistical parameters of each wireless link includes a standard deviation.
[0066] In some implementations, determining multiple regions of movement includes: identifying one or more time series of statistical parameters that vary in magnitude by more than a predetermined amount within a time frame. The time boundaries within the time frame are associated with each change in magnitude of the one or more time series of statistical parameters. Time intervals (such as those described with respect to Figure 4 etc.) are determined by identifying the time boundaries of adjacent pairs of time series of statistical parameters that share a common time series of statistical parameters. Then regions of movement can be assigned to portions of the one or more time series of statistical parameters within the corresponding time intervals. An individual region of movement can be common to more than one time series among the one or more time series of statistical parameters (or corresponding wireless links). The regions of movement together define multiple regions of movement.
[0067] A set of movement region parameters can be generated to characterize each region of movement of the multiple regions of movement. Each set of movement region parameters is generated based on a portion of the time series of statistical parameters that is defined by the corresponding time interval and associated with a single region of movement. For example, referring to Equation (6), according to Equation (7), a mean time series M can be used to generate movement region parameters
[0068]
[0069] Here, the movement region parameter is a second mean determined for a value k corresponding to the time interval (t + i → t + j). The time interval defines a portion of the mean time series M assigned to the region of movement, and the second mean characterizes the statistical distribution of that portion within the time interval (t + i → t + j). The second mean It may be generated for each part of a time series M of means that are defined by time intervals and assigned to a motion area. For multiple wireless links, the second mean generation can be extended to multiple such time series. Then, the motion area parameters thus obtained can be grouped on a motion area basis to define a set of motion area parameters for each motion area.
[0070] Although Equation (7) uses the mean to characterize the time series M of means, other types of motion area parameters are possible, such as standard deviation, range or spread, skewness, and kurtosis, etc. In addition, more than one motion area parameter can be used to characterize a part of the time series of statistical parameters (e.g., three, four, seven, etc.). The motion area parameters can also characterize the time series of statistical parameters other than the time series of means.
[0071] In some implementations, generating a set of motion area parameters includes: generating motion area parameters for each part of one or more time series of statistical parameters assigned to a motion area. The motion area parameters characterize the statistical distribution of the part within the corresponding time interval. In these implementations, generating a set of motion area parameters further includes: identifying the motion area parameters associated with a common motion area, thereby defining a set of motion area parameters.
[0072] Now referring to Figure 5 , a flowchart of an example process 500 for determining one or more motion areas, such as performed by a motion detection system, is presented. The motion detection system can process information based on (e.g., as described for Figure 1 and FIG. 2 or otherwise) wireless signals transmitted through space (e.g., on wireless links between wireless communication devices) to detect the motion of objects in space. The operations of process 500 can 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 can be performed by Figure 1 one or more of the example wireless communication devices 102A, 102B, 102C in
[0073] Example process 500 may include additional or different operations, and these operations can be performed in the order shown or in another order. In some cases, Figure 5 one or more of the operations shown can be implemented as a process including multiple operations, sub-processes, or other types of routines. In some cases, the operations can be combined, performed in another order, performed in parallel, iterated, or otherwise repeated or performed in another way.
[0074] 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 the 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, example process 500 may include: obtaining a set of channel response data for each wireless link (or stream) based on wireless signals communicated over the wireless link (or stream) through space between wireless communication devices within a time frame. The set of channel response data includes a set of channel response data for each wireless link.
[0075] As shown in operation 504, example process 500 may also process the channel responses for each wireless link (or stream) to generate a set of motion regions and corresponding motion region parameters. This operation generates a vector having entries for each generated motion region for each wireless link. Each entry of the vector corresponds to a motion region label and includes the corresponding set of motion region parameters. As shown in operation 506, 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 the memory of the motion detection system. Example process 500 then stores all the motion regions identified by the motion detection system for all operating time frames and their corresponding sets of motion region parameters. The motion regions and the corresponding sets of motion region parameters may be stored in a second memory of the motion detection system, which may represent the combined region statistics storage memory as shown in block 508.
[0076] As part of operations 504 - 506, example process 500 may generate a time series of statistical parameters for each wireless link based on the corresponding set of channel response data. The time series of statistical parameters characterizes the statistical distribution of the corresponding set of channel response data at consecutive time points within the time frame. 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. Then a set of motion region parameters for each of the plurality of motion regions characterizing the motion regions is generated. Each set of motion region parameters is generated based on a portion of the time series of statistical parameters defined by a corresponding time interval. Example process 500 may additionally store the plurality of motion regions and the sets of motion region parameters in a database of the motion detection system. The database of the motion detection system may include the combined region statistics storage memory 508. In subsequent operations (not shown), process 500 may use the sets of motion region parameters to identify one of the plurality of motion regions based on a motion event detected by the motion detection system.
[0077] After operations 504 - 506 are completed, as shown by query 510, example process 500 determines whether any statistics from a previous time frame correspond to a detected motion area in a subsequent time frame. If "yes", then as shown by operation 512, example process 500 proceeds to determine whether the detected motion area has been previously identified by the motion detection system. In this way, example process 500 can compare the set of motion area parameters generated for the detected motion area with the set of motion area parameters stored in the memory for combined area statistics storage. If "no", then the vectors of each radio link are stored in a third memory of the motion detection system, which can represent the memory for link - level area statistics storage as shown in block 514.
[0078] As part of query 510 and operation 512, the generated set of motion area parameters can be analyzed to determine whether the detected motion area is a new motion area. If the generated set of motion area parameters is sufficiently different from any set of motion area parameters stored in the memory for combined area statistics storage, then as shown by operation 516, example process 500 identifies the detected motion area as a new motion area. In particular, example process 500 can execute program instructions to update the memory for combined area statistics storage with the identity of the new motion area and its corresponding set of motion area parameters. Example process 500 can also execute program instructions to add a new entry to each vector stored in the memory for link - level area statistics storage. The new entry can include the motion area label of the new motion area and its corresponding set of motion area parameters.
[0079] Alternatively, as part of query 510 and operation 512, the generated set of motion area parameters can be analyzed to determine whether the detected motion area is a known motion area. If the generated set of motion area parameters is sufficiently similar to any set of motion area parameters stored in the memory for combined area statistics storage, then example process 500 identifies the detected motion area as a known motion area. If the generated set of motion area parameters is not exactly the same as any set of motion area parameters, but within a predetermined tolerance, then as shown by operation 516, example process 500 can refresh one or both of the memory for combined area statistics storage and the memory for link - level area statistics storage with the generated set of motion area parameters. In particular, example process 500 can execute program instructions to replace the set of motion area parameters of the known motion area in the memory for combined area statistics storage with the generated set of motion area parameters. Example process 500 can also execute program instructions to replace the set of motion area parameters associated with the known motion area in each vector stored in the memory for link - level area statistics storage with the generated set of motion area parameters.
[0080] It can be carried out through the iteration of time frames Figure 5 The illustrated example process 500. For example, the iteration may include subsequent time frames that occur after a time frame (or a previous time frame). As part of the above operations, the example process 500 may repeat the following operations within a subsequent time frame: obtain a set of channel response data, generate a time series of statistical parameters, determine multiple motion regions, generate a set of motion region parameters, store multiple motion regions, and use the set of motion region parameters. The example process 500 may also determine a difference by comparing the set of motion region parameters from a subsequent time frame with the set of motion region parameters from a previous time frame. The example process 500 may also update one or both of the multiple motion regions and the set of motion region parameters in the database of the motion detection system based on the difference. The database of the motion detection system may be partially stored in the stream data collection memory 502, the combined region statistics storage memory 508, and the link-level region statistics storage memory 514.
[0081] In some instances, when the example process 500 determines a difference, the example process 500 identifies new motion regions and a new corresponding set of motion region parameters. Additionally, when the example process 500 updates one or both of the multiple motion regions and the set of motion region parameters, the example process 500 then adds the new motion regions and the new corresponding set of motion region parameters to the database of the motion detection system.
[0082] In some instances, when the example process 500 determines a difference, the example process 500 identifies the motion regions present in the database at the end of both the subsequent time frame and the previous time frame. The motion region is associated with a subsequent set of motion region parameters at the end of the subsequent time frame and a previous set of motion region parameters at the end of the previous time frame. Then, the example process 500 determines the difference between the subsequent set of motion region parameters and the previous set of motion region parameters. Additionally, when the example process 500 updates one or both of the multiple motion regions and the set of motion region parameters, the example process 500 replaces the previous set of motion region parameters in the database with the subsequent set of motion region parameters based on the difference.
[0083] Example process 500 can determine a motion area and a corresponding set of motion area parameters cataloged to define a database. The database that can be used as a reference database can be compiled within a time frame that is long enough for all motion areas in the space to be determined and characterized by the statistical information. In some variations, the time frame occurs within a duration of at least 20 minutes (e.g., 30 minutes, 1 hour, 2 hours, 6 hours, etc.). Example process 500 can utilize the motion present during at least a portion of the time frame to compile the database, or alternatively, compile the database in the absence of motion during the time frame. Once the database is compiled, it can be accessed by subsequent processes to assist in identifying one or more motion areas where the detected motion occurs on a short time frame. The duration of the short time frame may be sufficient to enable determination of several (e.g., 2 to 5) samples of the statistical information, and in some instances, dozens (e.g., 20 to 60) of samples of the statistical information. In some variations, the short time frame is no greater than 30 seconds (e.g., 1 second, 3 seconds, 10 seconds, 20 seconds, etc.).
[0084] For example, the short time frame can be 1 second. For each second, example process 500 can analyze statistical information (such as a time series of statistical parameters of a wireless link, etc.) to generate ten samples of the statistical information. The ten samples of the statistical information can define a set of motion area parameters for the short time frame. In another example, the long time frame can be 1 hour (or 3600 seconds). For each second, example process 500 can analyze statistical information (such as a time series of statistical parameters of a wireless link, etc.) to generate 36000 samples of the statistical information. The 36000 samples of the statistical information can define a set of motion area parameters for the long time frame and can also enable example process 500 to determine the motion area associated with the set of motion area parameters.
[0085] Now refer to Figure 6 , a flowchart showing an example process 600 for identifying one or more motion areas where the detected motion occurs is presented. Example process 600 can occur within a time frame compared to example process 500 and can be performed by a motion detection system. The motion detection system can process information based on (e.g., as described for Figure 1 and FIG. 2 or otherwise) wireless signals transmitted through space (e.g., on a wireless link between wireless communication devices) to detect the motion of an object in the space. The operations of process 600 can 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 can be performed by Figure 1 one or more of the example wireless communication devices 102A, 102B, 102C in
[0086] 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, operations may be combined, performed in another order, performed in parallel, iterated, or otherwise repeated or performed in another manner.
[0087] As shown in query 602, example process 600 confirms that a database of long-term statistics (such as the database described in example process 500 of Figure 5 etc.) is fully compiled and ready for access. If confirmation is obtained, then as shown in operation 604, example process may execute program instructions to process the database of long-term statistics using a short-term window. If confirmation is not obtained, then example process 600 may pause until the database of long-term statistics is fully compiled and ready for access. Example process 600 may call another process (e.g., Figure 5 process 500 of
[0088] At operation 604, example process 600 accesses the database of long-term statistics, which may include accessing one or both of a combined area statistics storage memory and a link-level area statistics storage memory (as shown in block 606). Then, example process 600 extracts features of 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 generate several samples of statistics for each time window. The samples of statistics may include ranges of motion area parameters for each motion area within the time window. The ranges of motion area parameters may be based on any type of statistical parameter, such as mean, standard deviation, skewness, and kurtosis, etc.
[0089] Then, example process 600 may store the samples of statistics (associated with the respective motion areas) in the memory of the motion detection system, which may represent a short-term prediction statistics storage memory as shown in block 610. The samples of statistics and the respective motion areas may define a database of short-term statistics.
[0090] As part of operations 604 and 608, 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 the space between wireless communication devices. Example process 600 may also identify time intervals in the time series of statistical parameters. Each time interval is associated with a corresponding movement region in the space. In some instances, example process 600 generates a set of movement region parameters for characterizing each movement region. Each set of movement region parameters is generated based on a portion of the time series of statistical parameters defined by each time interval.
[0091] In addition, as part of operations 604 and 608, example process 600 may determine a range of movement region parameters associated with each corresponding movement 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. Then, example process 600 may store the range of movement region parameters for the corresponding movement region in a database of the motion detection system. In subsequent operations described in further detail below, example process 600 uses the range of movement region parameters to identify one of the movement regions based on a motion event detected by the motion detection system.
[0092] Upon completion of operations 604 and 608, example process 600 may recreate events that occurred on the motion detection system when processing future incoming but unknown short-term data. By recreating the conditions encountered during short-term prediction but using known long-term statistical information, example process 600 may evaluate the detailed short-term statistical distribution of the long-term statistical information. This evaluation may enable example process 600 to prepare an algorithm for all short-term statistical changes observed by the motion detection system. The algorithm may help example process 600 quickly identify one or more movement regions where the detected motion occurred.
[0093] At query 612, example process 600 confirms that the database of short-term statistical information is fully compiled and ready for access. Once confirmation is obtained, example process 600 collects the channel responses for each wireless link (or stream). The channel responses may reflect motion (e.g., a motion event) detected by the motion detection system in the space between wireless communication devices. In a sub-process similar to Figure 5 operations 502 - 506, as shown in operation 614, example process 600 generates short-term statistical data for each known movement region. The short-term statistical data may include a time series of statistical information and a set of movement region parameters, etc.
[0094] Then, as shown in operation 616, example process 600 executes program instructions to compare the short-term statistical data of each known motion area with the short-term statistical data stored in the database of short-term statistical information. Such comparison can involve comparing the range of the short-term statistical data for each known motion area with the range of the short-term statistical information stored in the database. If the short-term statistical data is sufficiently similar to the short-term statistical information associated with one or more motion areas in the database (e.g., within a predetermined tolerance), then example process 600 identifies one or more motion areas as the locations where the detected motion occurs. Such identification can correspond to an immediate estimate of the motion area of the detected motion.
[0095] As part of operations 604 and 608, example process 600 uses a range of motion area parameters to identify one of the motion areas based on a motion event detected by the motion detection system. Example process 600 can analyze the range of motion area parameters to identify overlapping ranges of motion area parameters and non-overlapping parameter ranges of motion area parameters for one or more of the motion areas. In some instances, the range of motion area parameters includes upper and lower bounds of a mean associated with the corresponding motion area. In some instances, the range of motion area parameters includes upper and lower bounds of a standard deviation associated with the corresponding motion area.
[0096] In addition, as part of operations 604 and 608, example process 600 can generate motion area parameters for a motion event (or the detected motion) based on a time series of statistical parameters generated in response to the motion event. Then, example process 600 can compare the motion area parameters with the ranges of motion area parameters for each corresponding motion area, thereby identifying one of the motion areas as the location of the motion event. In some instances, the motion area parameters include a mean.
[0097] In some variations, example process 600 executes program instructions to repeat the following operations in multiple iterations for each time frame: obtain a time series of statistical parameters, identify a time interval, determine a range of motion area parameters, store the range of motion area parameters, and use the range of motion area parameters. In these variations, example process 600 determines a difference by comparing a subsequent range of motion area parameters from a subsequent time frame with a previous range of motion area parameters from a previous time frame. Example process 600 also updates the range of motion area parameters for the corresponding motion area in the database of the motion detection system based on the difference.
[0098] The databases of the 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 flow) to one or more of the identified motion areas. In particular, subsequent processing can determine the contribution and overlap of each time series of statistical parameters to one or more of the identified motion areas. The subsequent processing can also determine the probability representing the degree to which the short-term but unknown statistical data from the example process 600 is related to a set of motion area parameters associated with the same one or more of the identified motion areas. A confidence level can then be determined, which characterizes the degree to which the motion detected by the motion detection system is within one or more of the identified motion areas.
[0099] For example, Figure 7A A schematic diagram showing three example motion areas each associated with a long-term mean and a short-term mean. The short-term mean parameters are illustrated with upper and lower bounds defining the range. Although Figure 7A The motion area parameters are shown as means, other statistical parameters (e.g., standard deviation, skewness, kurtosis, etc.) are possible. The ranges of the individual short-term means can be compared to identify overlapping and non-overlapping ranges. The overlapping and non-overlapping ranges can determine the boundaries of one or more motion areas specific to enable mapping of unknown statistical data to the motion areas with a confidence level.
[0100] Figure 7B Present Figure 7AA schematic diagram, but with dedicated boundaries for one or more of these three motion regions. In particular, the first boundary 700 is dedicated to a non-overlapping range of short-term means associated with motion region 3. The mean generated from the unknown statistical data falling within the first boundary 700 has a 100% probability of representing the short-term mean associated with motion region 1. Thus, for the detected motion that generates such unknown statistical data, a 100% confidence level can be assigned to motion region 1 as the location of the detected motion. Similarly, the second boundary 702 is dedicated to a non-overlapping range of short-term means associated with motion region 2. The mean generated from the unknown statistical data falling within the second boundary 702 has a 100% probability of representing the short-term mean associated with motion region 2. Thus, for the detected motion that generates such unknown statistical data, a 100% confidence level can be assigned to motion region 2 as the location of the detected motion. However, the third boundary 704 is dedicated to an overlapping range of short-term means associated with motion regions 1 and 3. In this case, the mean generated from the unknown statistical data falling within the third boundary 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 a range of motion region parameters associated with respective motion regions in the space between wireless communication devices. The range of motion region parameters is derived from a set of channel response data based on wireless signals communicated over the wireless link through the space. The example process also includes: analyzing 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. The overlapping ranges and non-overlapping ranges of 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 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 extent to which the identified motion region represents the location of the motion event.
[0102] Example processing 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 a confidence level. For example, once the motion region parameters are known for all detected motion regions and all wireless links (such as motion region parameters found in a database of long-term statistical information), the sets of motion region parameters 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 set of motion region parameters. The statistical boundaries (such as hyperplanes) used to separate these unique data sets can also statistically separate the motion regions.
[0103] To determine the statistical boundaries, example processing can pair data sets according to the following:
[0104]
[0105] Here, represents motion region parameters (e.g., mean, standard deviation, skewness, kurtosis, etc.); y n represents a motion region label; and n represents the number of values in the unique data set. Then, the example processing can use a support vector machine to generate a hyperplane. The hyperplane can be generated according to Equation (8):
[0106]
[0107] Here, as Figure 8 shown, represents the hyperplane and b / ‖w‖ is the offset from the origin by the magnitude ‖w‖. Figure 8 A graph is presented showing two data sets 802, 804 separated by the hyperplane 806 representing the respective motion region parameters. The hyperplane 806 is arranged between the data sets such that the distance to the data points in each data set that are closest to the hyperplane is maximized. In Figure 8 , the closest data points are arranged on the dashed lines labeled and respectively.
[0108] The proximity of the motion region to the hyperplane 806 can enable determination of a confidence level 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 the unique data set; represents the mean of the data set; and n represents the number of values in the unique data set. For example, if the hyperplane 806 is arranged to be at least one standard deviation away from the center (or mean) 808 of the data set, then if the motion area is determined to be the position of motion, a 100% confidence level can be assigned to the motion area. 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 area associated with the data set 802 can be identified as the position of motion, but a 50% confidence level can be assigned to the motion area.
[0111] In some implementations, determining the confidence level includes: determining a statistical boundary between a first value of a motion area parameter associated with the identified motion area and a second value of a motion area parameter associated with a second motion area. The statistical boundary represents an equal confidence level of a motion event occurring in the identified motion area or the second motion area. Determining the confidence level further includes: determining the distance of the motion area parameter from the statistical boundary towards the first value. This distance, when increasing towards the first value, corresponds to an increasing confidence level that the identified motion area represents the position 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, example processing includes repeating the following operations in multiple iterations of respective time frames: obtaining a range of motion area parameters, analyzing the range of motion area parameters, storing overlapping and non - overlapping ranges of motion area parameters, and using the overlapping and non - overlapping ranges of motion area parameters. In these implementations, example processing further includes: determining a difference by comparing a subsequent overlapping range and a subsequent non - overlapping range of motion area parameters from a subsequent time frame with a previous overlapping range and a previous non - overlapping range of motion area parameters from a previous time frame. Example processing additionally includes: updating one or both of the overlapping range and the non - overlapping range of motion area parameters in a database of the motion detection system based on the difference.
[0113] In some implementations, example processing includes: generating a set of motion area parameters for characterizing respective motion areas (such as those described in Figure 5 example processing 500 and the like). Each set of motion area parameters is generated as part 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, example processing includes: determining a range of motion area parameters associated with respective motion areas by analyzing multiple time windows within each time interval. Example processing can be performed in a manner similar to that described inFigure 6 Determine the range of motion area parameters in a manner similar to that described for example process 600.
[0114] Now refer to Figure 9 , which presents a flowchart of an example process 900 for determining the position of motion in the space through which a wireless signal passes. Example process 900 can be performed, for example, by a motion detection system. The motion detection system can process information based on (e.g., as described with respect to Figure 1 and FIG. 2 or otherwise) wireless signals transmitted through the space (e.g., on a wireless link between wireless communication devices) to detect the motion of an object in the space. The operations of process 900 can 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 can be performed by Figure 1 one or more of the example wireless communication devices 102A, 102B, 102C. A non-transitory computer-readable medium can also store instructions that, when executed by a data processing device (e.g., Figure 1 the example wireless communication devices 102A, 102B, 102C), are operable to perform one or more operations of process 900.
[0115] Example process 900 can include additional or different operations, and these operations can be performed in the order shown or in another order. In some cases, Figure 9 one or more of the operations shown can be implemented as a process that includes multiple operations, sub-processes, or other types of routines. In some cases, the operations can be combined, performed in another order, performed in parallel, iterated, or otherwise repeated or performed in another manner.
[0116] As shown in operation 910, example process 900 includes: using wireless signals communicated on a wireless link through the space between wireless communication devices to determine a plurality of motion areas and a corresponding set of motion area parameters. Example process 900 can implement operation 910 by executing program instructions according to the example process 1000 described with respect to Figure 10 . Thus, example process 900 can complete one or more processes detailed for Figure 3A to 3C , Figure 4 and Figure 5 .
[0117] As shown in operation 920, example process 900 further includes: identifying one or more of the plurality of motion areas in which motion occurs by determining the range of motion area parameters associated with each corresponding motion area. Example process 900 can implement operation 920 by executing according to Figure 11The program instructions of the example processing 1100 described above are used to implement operation 920. In this way, the example processing 900 can complete one or more processes Figure 3A to 3C 、 Figure 4 to 6 detailed above.
[0118] As shown in operation 930, the example processing 900 additionally includes: determining the confidence level of one or more identified motion regions by analyzing the overlapping and non-overlapping ranges of the motion region parameters. The example processing 900 can implement operation 930 by executing the program instructions according to the example processing 1200 Figure 12 described above. In this way, the example processing 900 can complete one or more processes Figure 3A to 3C 、 Figure 4 to 6 、 Figure 7A to 7B and Figure 8 detailed above.
[0119] Now referring to Figure 10 , a flowchart showing an example processing 1000 for determining a plurality of motion regions and corresponding sets of motion region parameters is presented. The example processing 1000 can be performed, for example, by a motion detection system. The motion detection system can process information based on (e.g., as described for Figure 1 and FIG. 2 or otherwise) wireless signals transmitted through space (e.g., over a wireless link between wireless communication devices) to detect the motion of objects in space. The operations of processing 1000 can 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 the example processing 1000 can be performed by Figure 1 one or more of the example wireless communication devices 102A, 102B, 102C. A non-transitory computer-readable medium can also store instructions that are operable to perform one or more operations of processing 1000 when executed by a data processing device (e.g., Figure 1 the example wireless communication devices 102A, 102B, 102C).
[0120] The example processing 1000 can include additional or different operations, and these operations can be performed in the shown order or in another order. In some cases, Figure 10 one or more of the operations shown can be implemented as a process including multiple operations, sub-processes, or other types of routines. In some cases, the operations can be combined, performed in another order, performed in parallel, iterated, or otherwise repeated or performed in another way.
[0121] As shown in operation 1010, example process 1000 includes: obtaining a set of channel response data based on wireless signals communicated over a wireless link through space between wireless communication devices within a time frame. The set of channel response data includes a set of channel response data for each wireless link. As shown in operation 1020, example process 1000 further includes: generating a time series of statistical parameters for each wireless link based on the corresponding set of channel response data. The time series of statistical parameters characterizes the statistical distribution of the corresponding set of channel response data at consecutive time points in the time frame. As shown in operation 1030, multiple motion regions in space are determined based on the variation of 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, example process 1000 additionally includes: generating a set of motion region parameters for characterizing each of the multiple motion regions. Each set of motion region parameters is generated based on a portion of the time series of statistical parameters defined by a corresponding time interval. As shown in operation 1050, example process 1000 further includes: storing the multiple motion regions and the sets of motion region parameters in a database of the motion detection system. As shown in operation 1060, the sets of motion region parameters are used to identify one of the multiple motion regions based on a motion event detected by the motion detection system.
[0123] In some implementations, operation 1030 of determining the multiple motion regions includes: identifying one or more time series of statistical parameters that vary in magnitude by more than a predetermined amount within the time frame. The time boundaries in the time frame are associated with each change in magnitude of the one or more time series of statistical parameters. Operation 1030 may further include: determining a time interval by identifying the time boundaries of adjacent pairs of time series of statistical parameters that share a common statistical parameter. Motion regions are assigned to portions of the one or more time series of statistical parameters within the corresponding time interval. The motion regions together define the multiple motion regions. In a further implementation, operation 1040 of generating the set of motion region parameters includes: generating motion region parameters for portions of the one or more time series of statistical parameters to which a motion region is assigned. The motion region parameters characterize the statistical distribution of the portion within the corresponding time interval. Operation 1040 further includes: identifying the motion region parameters associated with a common motion region, thereby defining the set of motion region parameters.
[0124] In some implementations, the time frame is a previous time frame, and example processing 1000 includes repeating the following operations within 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, example processing 1000 includes: determining a difference by comparing the set of motion region parameters from the subsequent time frame with the set of motion region parameters from the previous time frame. Example processing 100 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 new motion regions and a new corresponding set of motion region parameters. In these variations, updating one or both of the plurality of motion regions and the set of motion region parameters includes: adding the new motion regions and the new corresponding set of motion region parameters to the database of the motion detection system.
[0126] In some variations, determining the difference includes: identifying motion regions that exist in the database at the end of both the subsequent time frame and the previous time frame. The motion regions are associated with a subsequent set of motion region parameters at the end of the subsequent time frame and a previous set of motion region parameters at the end of the previous time frame. Determining the difference also includes: determining the difference between the subsequent set of motion region parameters and the previous set of motion region parameters. In these variations, updating one or both of the plurality of motion regions and the set of motion region parameters includes: replacing the previous set of motion region parameters in the database with the subsequent set of motion region parameters based on the difference.
[0127] Now refer to Figure 11 , a flowchart presenting an example processing 1100 for identifying one or more of a plurality of motion regions where motion occurs. Example processing 1100 can be performed, for example, by a motion detection system. The motion detection system can process information based on (e.g., as described for Figure 1 and FIG. 2 or otherwise) wireless signals transmitted through space (e.g., on a wireless link between wireless communication devices) to detect the motion of objects in space. The operations of processing 1100 can 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 processing 1100 can be performed by Figure 1 of the example wireless communication devices 102A, 102B, 102C. A non-transitory computer-readable medium can also be stored by a data processing device (e.g., Figure 1Instructions that, when executed by example wireless communication devices 102A, 102B, 102C), are operable to perform one or more operations of process 1100.
[0128] 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, operations may be combined, performed in another order, performed in parallel, iterated, or otherwise repeated or otherwise performed.
[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 further 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 a plurality of time windows within each time interval. In some instances, the plurality of time windows overlap. In some instances, the plurality of time windows do not overlap. As shown in operation 1140, example process 1100 further 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, example process 1100 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 the time series of statistical parameters defined by a corresponding time interval. In some implementations, example process 1100 includes: analyzing 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 implementations, the range of motion region parameters includes upper and lower bounds of a mean associated with the corresponding motion region. In some implementations, the range of motion region parameters includes upper and lower bounds of a standard deviation associated with the corresponding motion region.
[0131] In some implementations, operation 1150 using a range of motion area parameters includes: generating a motion area parameter for the motion event based on a time series of statistical parameters generated in response to a motion event. Operation 1150 also includes: comparing the motion area parameter with a range of motion area parameters for each respective motion area, thereby identifying one of the motion areas as the location of the motion event. In some instances, the motion area parameter includes a mean value.
[0132] In some implementations, example process 1100 includes: repeating the following operations in multiple iterations for each time frame: obtaining a time series of statistical parameters, identifying a time interval, determining a range of motion area parameters, storing the range of motion area parameters, and using the range of motion area parameters. Example process 1100 also includes: determining a difference by comparing a subsequent range of motion area parameters from a subsequent time frame with a previous range of motion area parameters from a previous time frame. Example process 1100 additionally includes: updating, based on the difference, the range of motion area parameters for the respective motion area in a database of the motion detection system.
[0133] Now refer to Figure 12 , a flowchart of an example process 1200 for determining a confidence level of a motion area identified as the location of detected motion is presented. Example process 1200 can be performed, for example, by a motion detection system. The motion detection system can process information based on (e.g., as described with respect to Figure 1 and FIG. 2 or otherwise) wireless signals transmitted through space (e.g., over a wireless link between wireless communication devices) to detect motion of an object in space. Operations of process 1200 can 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 can be performed by one or more of the example wireless communication devices 102A, 102B, 102C of Figure 1 . A non-transitory computer-readable medium can also store instructions that, when executed by a data processing device (e.g., the example wireless communication devices 102A, 102B, 102C of Figure 1 ), are operable to perform one or more operations of process 1200.
[0134] Example process 1200 can include additional or different operations, and these operations can be performed in the order shown or in another order. In some cases, Figure 12 one or more of the operations shown in
[0135] As shown in operation 1210, example process 1200 includes: obtaining, from a database of a motion detection system, a range of motion area parameters associated with respective motion areas in a space between wireless communication devices. The range of motion area parameters is 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, example process 1200 further includes: analyzing the range of motion area parameters to identify overlapping ranges of motion area parameters and non-overlapping parameter ranges of motion area parameters for one or more of the motion areas. As shown in operation 1230, the overlapping ranges and non-overlapping ranges of motion area parameters are stored in a database of the motion detection system. Example process 1200 additionally includes: using the overlapping ranges and non-overlapping ranges of motion area parameters to identify one of the motion areas based on a motion event detected by the motion detection system.
[0136] In some implementations, example process 1200 includes: generating motion area parameters for the motion event based on one or more time series of statistical parameters generated in response to the motion event. Example process 1200 further includes: determining a confidence level based on the motion area parameters, the confidence level characterizing the extent to which the identified motion area represents the location of the motion event. In further implementations, example process 1200 includes: determining a statistical boundary between a first value of motion area parameters associated with the identified motion area and a second value of motion area parameters associated with a second motion area. The statistical boundary represents an equal confidence level of a motion event occurring in the identified motion area or the second motion area. Example process 1200 further includes: determining a distance of the motion area parameters from the statistical boundary toward the first value. The distance corresponds to an increasing confidence level that the identified motion area represents the location of the motion event as the distance increases toward the first value. 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, example process 1200 includes repeating, in multiple iterations for respective time frames, the operations of: obtaining a range of motion area parameters, analyzing the range of motion area parameters, storing the overlapping ranges and non-overlapping ranges of motion area parameters, and using the overlapping ranges and non-overlapping ranges of motion area parameters. In these implementations, example process 1200 further includes: determining a difference by comparing a subsequent overlapping range and a subsequent non-overlapping range of motion area parameters from a subsequent time frame with a previous overlapping range and a previous non-overlapping range of motion area parameters from a previous time frame. Example process 1200 additionally includes: updating, based on the difference, one or both of the overlapping range and the non-overlapping range of motion area parameters in a database of the motion detection system.
[0138] In some implementations, example processing 1200 includes: generating a set of motion region parameters for characterizing respective motion regions. Each set of motion region parameters is generated as part 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. Example processing 1200 may optionally determine a range of motion region parameters associated with respective motion regions by analyzing multiple time windows within each time interval.
[0139] Now refer to Figure 13 , which presents a block diagram showing an example wireless communication device 1300. As Figure 13 shown, the example wireless communication device 1300 includes an interface 1330, a processor 1310, a memory 1320, and a power supply unit 1340. A wireless communication device (e.g., Figure 1 any of the wireless communication devices 102A, 102B, 102C) may include additional or different components, and the wireless communication device 1300 may be configured to operate as described for the above examples. In some implementations, the interface 1330, 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 housed separately, e.g., in separate housings or other assemblies.
[0140] The example interface 1330 may communicate (receive, transmit, or both) wireless signals. For example, the interface 1330 may 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 electronics system and a baseband subsystem. The radio electronics system may include, for example, RF circuitry and one or more antennas. The radio electronics system may be configured to communicate RF wireless signals over a wireless communication channel. As an example, the radio electronics system may include a radio chip, an RF front end, and one or more antennas. The baseband subsystem may include, for example, digital electronics 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 electronics system, communicate wireless network traffic through the radio electronics system, or perform other types of processing.
[0141] Example processor 1310 can, for example, execute instructions for generating output data based on data inputs. The instructions can include programs, code, scripts, modules, or other types of data stored in 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. Processor 1310 can be or include a general-purpose microprocessor, a dedicated co-processor, or another type of data processing device. In some cases, processor 1310 performs high-level operations of wireless communication device 1300. For example, processor 1310 can be configured to execute or interpret software, scripts, programs, functions, executable files, or other instructions stored in memory 1320. In some implementations, processor 1310 is included in interface 1330 or another component of wireless communication device 1300.
[0142] Example memory 1320 can include a computer-readable storage medium, such as a volatile memory device, a non-volatile memory device, or both. Memory 1320 can 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 can be integrated with or otherwise associated with another component of wireless communication device 1300. Memory 1320 can store instructions executable by processor 1310. For example, these instructions can include instructions for performing Figure 9 one or more of the operations in the example process 900 shown, Figure 10 one or more of the operations in the example process 1000 shown, Figure 11 one or more of the operations in the example process 1100 shown, or Figure 12 one or more of the operations in the example process 1200 shown.
[0143] Example power unit 1340 supplies power to other components of wireless communication device 1300. For example, the other components can operate based on the power provided by power unit 1340 via a voltage bus or other connection. In some implementations, power unit 1340 includes a battery or battery system, such as a rechargeable battery. In some implementations, power 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 regulated for the components of wireless communication device 1300. Power unit 1320 can include other components or operate in other ways.
[0144] Some of the subject matter and operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and structural equivalents thereof, or combinations of one or more of these structures. Some of the subject matter described in this specification can be implemented as one or more computer programs (i.e., one or more modules of computer program instructions) encoded on a computer storage medium for execution by, or to control the operation of, a data processing apparatus. A computer storage medium can be, or be included in, 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. Moreover, although a computer storage medium is not a propagated signal, a computer storage medium can be the source or destination of computer program instructions encoded in an artificially generated propagated signal. A computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
[0145] Part 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 apparatus” encompasses all kinds of devices, apparatuses, and machines for processing data, which includes, for example, programmable processors, computers, system-on-chips, or combinations of the foregoing. The apparatus can include dedicated logic circuitry, such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). The apparatus can further include code for creating an execution environment for the computer programs being discussed, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, cross-platform runtime environments, virtual machines, or combinations of one or more of them, in addition to hardware.
[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 languages or interpreted languages, declarative languages or procedural languages, and can be deployed in any form, including being deployed as a stand-alone program or being deployed as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may or may not correspond to a file in a file system. The program can be stored in a part of a file, where the file is used to hold 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., files used to store one or more modules, subroutines, or parts of code). A computer program can be deployed to execute on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.
[0148] Some of the processes and logic flows described in this specification can be performed by 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 dedicated logic circuitry, and the apparatus can also be implemented as dedicated logic circuitry, such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
[0149] To provide interaction with a user, operations can be implemented on a computer that has 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 kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including sound, voice, or tactile input. Additionally, a computer can interact with the user by sending and receiving documents relative to the device used by the user (e.g., by sending a web page to a web browser in response to a request received from the web browser on the user's client device).
[0150] Although this specification contains many details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features specific to particular examples. The particular features described in this specification or shown in the drawings may also be combined in separate implementations. Conversely, the various features described or shown in the context of a single implementation may also be implemented separately or in any suitable sub-combination in multiple embodiments.
[0151] Similarly, although the operations are depicted in the drawings in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in sequential order, or that all of the illustrated operations be performed, to achieve the desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Additionally, the separation of various system components in the implementations described above should not be understood as required in all implementations, and it should be understood that the program components and systems can generally be integrated together into a single product or packaged into multiple products.
[0152] Numerous embodiments have been described. However, it should be understood that various modifications may be made. Accordingly, other embodiments are within the scope of the appended claims.
Claims
1. A method for identifying a motion area, comprising: Obtain a set of channel response data based on wireless signals communicated over a wireless link through space between wireless communication devices within a time frame, the set of channel response data including a set of channel response data for each wireless link; Generate a time series of statistical parameters for each wireless link based on the corresponding set of channel response data, the time series of statistical parameters characterizing the statistical distribution of the corresponding set of channel response data at consecutive time points within the time frame; Determine a plurality of motion regions in the space based on changes in the time series of statistical parameters for each wireless link; Generate a set of motion region parameters for characterizing each motion region among the plurality of motion regions, each set of motion region parameters being generated based on a part of the time series of statistical parameters defined by a corresponding time interval; Store the plurality of motion regions and the sets of motion region parameters in a database of a motion detection system; And Use the sets of motion region parameters to identify one of the plurality of motion regions based on a motion event detected by the motion detection system.
2. The method according to claim 1, wherein, Determining the plurality of motion regions includes: Identifying one or more time series of statistical parameters that vary in magnitude by more than a predetermined amount within the time frame; Associating time boundaries within the time frame with each change in magnitude of the one or more time series of statistical parameters; Determining time intervals by identifying time boundaries of adjacent pairs of time series of statistical parameters that share a common statistical parameter; and Assigning motion regions to portions of the one or more time series of statistical parameters within the corresponding time intervals, the motion regions together defining the plurality of motion regions.
3. The method according to claim 2, wherein, Generating the sets of motion region parameters includes: Generating motion region parameters for portions of the one or more time series of statistical parameters to which motion regions are assigned, the motion region parameters characterizing the statistical distribution of the portion within the corresponding time interval; and Identifying motion region parameters associated with a common motion region, thereby defining a set of motion region parameters.
4. The method according to any one of claims 1 to 3, wherein, The time frame is a previous time frame, and wherein the method includes: Repeating, within a subsequent time frame, the operations of 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 sets of motion region parameters; Determining a difference by comparing the set of motion region parameters from the subsequent time frame with the set of motion region parameters from the previous time frame; and Updating one or both of the plurality of motion regions and the sets of motion region parameters in the database of the motion detection system based on the difference.
5. The method according to claim 4, wherein, Determining the difference includes identifying new motion regions and new corresponding sets of motion region parameters, and wherein updating one or both of the plurality of motion regions and the sets of motion region parameters includes adding the new motion regions and the new corresponding sets of motion region parameters to the database of the motion detection system.
6. The method according to claim 4, wherein, Determining the difference includes: Identify a motion area existing in the database at the end of both the subsequent time frame and the previous time frame, the motion area being associated with a set of subsequent motion area parameters at the end of the subsequent time frame and a set of previous motion area parameters at the end of the previous time frame; and Determine the difference between the set of subsequent motion area parameters and the set of previous motion area parameters, and wherein updating one or both of the plurality of motion areas and the set of motion area parameters includes replacing the set of previous motion area parameters in the database with the set of subsequent motion area parameters based on the difference.
7. The method according to any one of claims 1 to 3, wherein, The time series of the statistical parameters of each wireless link includes a mean value.
8. The method according to any one of claims 1 to 3, wherein, The time series of the statistical parameters of each wireless link includes a standard deviation.
9. A system for identifying a motion area, comprising: A wireless communication device in a wireless communication network, configured to exchange wireless signals over a wireless link, each wireless link being defined between a corresponding pair of wireless communication devices; One or more processors;And A memory for storing instructions configured to operate when executed by the one or more processors, the operations including: Obtain a set of channel response data within a time frame based on wireless signals communicated over a wireless link through space between wireless communication devices, the set of channel response data including a set of channel response data for each wireless link; Generate a time series of statistical parameters for each wireless link based on the corresponding set of channel response data, the time series of statistical parameters characterizing the statistical distribution of the corresponding set of channel response data at consecutive time points in the time frame; Determine a plurality of motion areas in the space based on changes in the time series of the statistical parameters of each wireless link; Generate a set of motion area parameters for characterizing each motion area in the plurality of motion areas, each set of motion area parameters being generated based on a part of the time series of statistical parameters defined by a corresponding time interval; Store the plurality of motion areas and the set of motion area parameters in a database of a motion detection system; and Use the set of motion area parameters to identify one of the plurality of motion areas based on a motion event detected by the motion detection system.
10. The system according to claim 9, wherein, Determining the plurality of motion areas includes: Identifying one or more time series of statistical parameters that vary in magnitude by more than a predetermined amount within the time frame; Associating time boundaries in the time frame with each change in magnitude of the one or more time series of statistical parameters; Determining time intervals by identifying time boundaries of adjacent pairs of time series of statistical parameters that share a common time series; and Assigning motion areas to portions of the one or more time series of statistical parameters within corresponding time intervals, the motion areas together defining the plurality of motion areas.
11. The system according to claim 10, wherein, Generating the set of motion area parameters includes: Generating motion area parameters for portions of the one or more time series of statistical parameters to which motion areas are assigned, the motion area parameters characterizing the statistical distribution of the portion within the corresponding time interval; and Identifying motion area parameters associated with a common motion area, thereby defining a set of motion area parameters.
12. The system according to any one of claims 9 to 11, wherein, The time frame is a previous time frame, and wherein, the operations include: repeating, within a subsequent time frame, operations for 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; determining a difference by comparing the set of motion region parameters from the subsequent time frame with the set of motion region parameters from the previous time frame; and updating, based on the difference, one or both of the plurality of motion regions and the set of motion region parameters in a database of the motion detection system.
13. The system according to claim 12, wherein, Determining the difference includes identifying a new motion region and a new corresponding set of motion region parameters, and wherein, updating one or both of the plurality of motion regions and the set of motion region parameters includes adding the new motion region and the new corresponding set of motion region parameters to the database of the motion detection system.
14. The system according to claim 12, wherein, Determining the difference includes: identifying a motion region existing in the database at the end of both the subsequent time frame and the previous time frame, the motion region being associated with a subsequent set of motion region parameters at the end of the subsequent time frame and a previous set of motion region parameters at the end of the previous time frame; and determining a difference between the subsequent set of motion region parameters and the previous set of motion region parameters, and wherein, updating one or both of the plurality of motion regions and the set of motion region parameters includes replacing, based on the difference, the previous set of motion region parameters in the database with the subsequent set of motion region parameters.
15. The system according to any one of claims 9 to 11, wherein, The time series of statistical parameters of each wireless link includes a mean value.
16. The system according to any one of claims 9 to 11, wherein, The time series of statistical parameters of each wireless link includes a standard deviation.
17. A non - transitory computer - readable medium for storing instructions that, when executed by a data - processing device, cause the data - processing device to perform operations, the operations including: Obtaining a set of channel response data within a time frame based on wireless signals communicated on a wireless link through space between wireless communication devices, the set of channel response data including a set of channel response data for each wireless link; Generating, for each wireless link, a time series of statistical parameters based on the corresponding set of channel response data, the time series of statistical parameters characterizing the statistical distribution of the corresponding set of channel response data at consecutive time points in the time frame; Determining the plurality of motion regions in the space based on changes in the time series of statistical parameters of each wireless link; Generating a set of motion region parameters for characterizing each of the plurality of motion regions, each set of motion region parameters being generated based on a part of the time series of statistical parameters defined by a corresponding time interval; Storing the plurality of motion regions and the set of motion region parameters in a database of the motion detection system; and Using the set of motion region parameters to identify one of the plurality of motion regions based on a motion event detected by the motion detection system.
18. The computer - readable medium according to claim 17, wherein, Determining the plurality of motion regions includes: identifying one or more time series of statistical parameters that vary in magnitude by more than a predetermined amount within the time frame; Associate the time boundaries in the time frame with the respective changes in magnitude of the one or more time series of statistical parameters; Determine time intervals by identifying the time boundaries of adjacent pairs of co - statistical - parameter time series; and Assign motion regions to the respective portions of the one or more time series of statistical parameters within the corresponding time intervals, the motion regions together defining the plurality of motion regions.
19. The computer - readable medium according to claim 18, wherein, Generating the set of motion region parameters includes: Generating motion region parameters for the respective portions of the one or more time series of statistical parameters to which motion regions are assigned, the motion region parameters characterizing the statistical distribution of the portion within the corresponding time interval; and Identifying the motion region parameters associated with co - motion regions, thereby defining the set of motion region parameters.
20. The computer - readable medium according to any one of claims 17 to 19, wherein, The time frame is a previous time frame, and wherein, the operations include: Repeating, within a subsequent time frame, the operations for 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; Determining a difference by comparing the set of motion region parameters from the subsequent time frame with the set of motion region parameters from the previous time frame; and Updating, based on the difference, one or both of the plurality of motion regions and the set of motion region parameters in the database of the motion detection system.
21. The computer - readable medium according to claim 20, wherein, Determining the difference includes identifying new motion regions and new corresponding sets of motion region parameters, and wherein, updating one or both of the plurality of motion regions and the set of motion region parameters includes adding the new motion regions and the new corresponding sets of motion region parameters to the database of the motion detection system.
22. The computer - readable medium according to claim 20, wherein, Determining the difference includes: Identifying a motion region existing in the database at the end of both the subsequent time frame and the previous time frame, the motion region being associated with a subsequent set of motion region parameters at the end of the subsequent time frame and a previous set of motion region parameters at the end of the previous time frame; and Determining the difference between the subsequent set of motion region parameters and the previous set of motion region parameters, and wherein, updating one or both of the plurality of motion regions and the set of motion region parameters includes replacing the previous set of motion region parameters in the database with the subsequent set of motion region parameters based on the difference.
23. The computer - readable medium according to any one of claims 17 to 19, wherein, The time series of statistical parameters of each wireless link includes a mean value.
24. The computer - readable medium according to any one of claims 17 to 19, wherein,The time series of statistical parameters of each wireless link includes a standard deviation.
25. A computer program product comprising a program for causing a computer 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 localization in a wireless mesh network based on motion indicator values
US10109167B1
Motion localization based on channel response characteristics
US10109168B1
Detecting motion based on repeated wireless transmissions
US9523760B1