Identifying motion zones based on user input and motion sensing data derived from wireless signals
By analyzing the wireless link channel information in the wireless communication network and identifying link interference signatures, the problem of difficult to identify new motion areas in the prior art is solved, and intuitive representation and perception of motion in space is realized.
Patent Information
- Application Number
- CN202380063300.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-21
- Filing Date
- 2023-07-20
- Publication Date
- 2025-04-25
AI Technical Summary
It is difficult for the existing motion detection system to effectively identify new motion areas that are not associated with wireless communication devices, and it is difficult to intuitively represent the motion relationship in space.
By analyzing the channel information of the wireless link in the wireless communication network, motion sensing data is identified and generated to locate the motion of an object or a person in the space. At the same time, the spatial map and link interference signature are used to identify the new motion area and represent it on the graphical interface.
The identification and intuitive representation of new sports areas is realized, which improves users' perception of movement in space, and reduces the need to manually add sports areas and build space maps.
Smart Images

Figure CN119895901A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This patent application claims priority to U.S. Provisional Application No. 63 / 391,176, filed on July 21, 2022, and incorporates the entire disclosure of the above application by reference. Background Art
[0003] The following description relates to identifying motion zones based on user input and motion sensing data derived from wireless signals.
[0004] Motion detection systems have been used to detect the movement of objects within a room or outdoor area, for example. In some example motion detection systems, infrared or optical sensors are used to detect the movement of objects within the sensor's field of view. Motion detection systems have been used in security systems, automated control systems, and other types of systems. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Figure 1 is a diagram illustrating an example wireless communication system;
[0006] FIG. 2A to FIG. 2B is a diagram illustrating example wireless signals communicated between wireless communication devices;
[0007] Figure 2C is a diagram illustrating an example wireless sensing system operating to detect motion in a space;
[0008] Figure 3A is a schematic diagram of an example wireless communication network;
[0009] Figure 3B is a diagram showing an example graphical display on a user interface on a user device;
[0010] Figure 4A is a diagram of an example space associated with a wireless communication network;
[0011] Figure 4B is based on Figure 4A a graph of an example spatial map of an example space of ;
[0012] Figure 5A is a diagram of an example space associated with a wireless communication network;
[0013] Figure 5B is an example of a transfer matrix illustrating the addition of a motion region not associated with a wireless communication device;
[0014] Figure 5C is based on Figure 5A An example spatial map of an example space is shown illustrating the location of a new sports zone;
[0015] Figure 6 is a block diagram of a method for determining the significance of a link interference signature;
[0016] Figure 7 is a flow chart of a method for identifying a motion zone not associated with a wireless communication device;
[0017] Fig. 8A is a flow chart of an example process for determining a location of motion detected by one or more wireless links in a wireless communication network;
[0018] Figure 8B is a block diagram illustrating user interaction with a motion detection system;
[0019] Figure 8C It means that you can Figure 8B Signaling and flow diagrams of example operations performed in the illustrated system; and
[0020] Fig. 9 is a block diagram illustrating an example wireless communication device. DETAILED DESCRIPTION
[0021] In some aspects described herein, the wireless sensing system can process wireless signals (e.g., radio frequency signals) transmitted through the space between wireless communication devices for wireless sensing applications. Example wireless sensing applications include detecting motion, which can include one or more of the following: detecting the motion of an object in a space, motion tracking, positioning of motion in a space, breathing detection, breathing monitoring, presence detection, gesture detection, gesture recognition, human detection (e.g., moving and stationary human detection), human tracking, fall detection, speed estimation, intrusion detection, walking detection, step counting, breathing rate detection, sleep pattern detection, sleep quality monitoring, apnea estimation, posture change detection, activity recognition, gait rate classification, gesture decoding, sign language recognition, hand tracking, heart rate estimation, breathing rate estimation, room occupancy detection, human dynamics monitoring and other types of motion detection applications. Other examples of wireless sensing applications include object recognition, speech recognition, keystroke detection and identification, tampering detection, touch detection, attack detection, user authentication, driver fatigue detection, traffic monitoring, smoke detection, school violence detection, human counting, metal detection, human recognition, bicycle positioning, human queue estimation, Wi-Fi imaging and other types of wireless sensing applications. For example, the wireless sensing system may operate as a motion detection system to detect the presence and location of motion based on Wi-Fi signals or other types of wireless signals.
[0022] The examples described herein may be useful for home monitoring. In some instances, home monitoring using the wireless sensing system described herein may provide several advantages, including full home coverage through walls and in darkness, discreet detection without cameras, higher accuracy and reduced false alarms (e.g., compared to sensors that do not use Wi-Fi signals to sense the sensor's environment), and adjustable sensitivity. By layering Wi-Fi motion detection capabilities into routers and gateways, a robust motion detection system may be provided.
[0023] The examples described herein can also be useful for health monitoring. Caregivers want to know that their loved ones are safe, while the elderly and those with special needs want to maintain their independence at home with dignity. In some instances, health monitoring using the wireless sensing system described herein can provide a solution that uses wireless signals to detect motion without using a camera or invading privacy, generates an alarm when abnormal activity is detected, tracks sleep patterns, and generates preventive health data. For example, a caregiver can monitor motion, visits from healthcare professionals, and abnormal behaviors such as longer than usual bedtime. In addition, motion is monitored inconspicuously without the need for a wearable device, and the wireless sensing system described herein provides a more economical and convenient alternative for assisted living facilities and other safety and health monitoring tools.
[0024] The examples described herein may also be useful for setting up a smart home. In some examples, the wireless sensing system described herein uses predictive analytics and artificial intelligence (AI) to learn motion patterns and trigger smart home functions accordingly. Examples of smart home functions that can be triggered include adjusting the thermostat when a person walks through the front door, turning other smart devices on or off based on preferences, automatically adjusting lighting, adjusting the HVAC system based on current occupants, and the like.
[0025] In some aspects described herein, a motion detection system includes multiple wireless communication devices placed throughout a physical space such as a residence, a workplace, etc. The multiple wireless communication devices are part of a wireless communication network and may include client devices such as mobile devices, smart phones, smart watches, tablet computers, laptop computers, smart thermostats, wireless-enabled cameras, smart TVs, wireless-enabled speakers, wireless-enabled power outlets, etc. The multiple wireless communication devices may also include wireless access points (APs) capable of connecting client devices to the wireless communication network. In some variations, the multiple wireless access points define a wireless mesh network.
[0026] During operation, multiple wireless communication devices may be associated with a corresponding medium access control (MAC) that is specific to each wireless communication device (or the wireless communication interface therein). However, a MAC address (typically represented by a pair of alphanumeric characters) does not indicate location information (such as the location of the wireless communication device in space or the distance of the wireless communication device relative to another wireless communication device, etc.). Thus, a user of the motion detection system cannot perceive the space in which one or more wireless communication devices reside based on the MAC address.
[0027] However, the motion detection system can be configured to generate motion sensing data based on wireless signals exchanged between multiple wireless communication devices. The wireless signals can be transmitted across wireless links defined by corresponding wireless communication device pairs in the wireless communication network. In addition, the wireless links can extend through corresponding parts of the space. As a result, the movement of objects or people in the space may interfere with one or more wireless signals, thereby allowing the motion detection system to generate motion sensing data. The motion detection system uses the motion sensing data to locate the movement of objects or people in the space. In many instances, the motion detection system notifies the user where the movement is occurring in the space by identifying one or more wireless communication devices closest to the movement. This identification can be performed based on a spatial map of wireless communication devices in the space. The spatial map can assist the user in perceiving the space and the movement therein.
[0028] The motion detection system may generate a spatial map during an initial operating period (e.g., a few hours). In this way, the motion detection system may collect motion sensing data and then use the collected motion sensing data to determine the locations of the plurality of communication devices relative to each other. The locations may correspond to physical or logical distances between corresponding pairs of wireless communication devices. The physical or logical distances may be based on a physical or logical coordinate system of the spatial map, respectively.
[0029] The motion detection system is also configured to present the spatial map to the user (e.g., via a display device) to allow the user to input information defining additional features of the space. For example, the user can enter information that associates a group of wireless communication devices that share common characteristics (e.g., devices in the same room). After receiving the input, the motion detection system can generate configuration data (e.g., motion zones) representing these additional features. The configuration data can then be used by the motion detection system to display information on a graphical interface that represents the spatial map and its additional features. The motion detection system can also use the configuration data to operate based on the additional features (e.g., send a notification to the user).
[0030] In some implementations, the motion detection system is configured to receive instructions from a user to assign one or more wireless communication devices on a spatial map to a motion zone in the space. The motion zone may be based on an area commonly shared by one or more wireless communication devices. For example, the space may be a house including a living room with multiple wireless communication devices. If the motion occurs in the living room, the user may prefer to know that the motion occurs in the living room rather than at a specific wireless communication device in the living room. In this case, the user can instruct the motion detection system to create a motion zone titled "Living Room" and assign multiple wireless communication devices to the motion zone. The motion zone and its associated room may correspond to additional features provided by the user for the spatial map. If desired, the user can repeat the process for other rooms in the house, thereby adding other features to the spatial map. The motion detection system can then generate configuration data based on this information, which will later assist the user in perceiving the motion detected in the house.
[0031] In some implementations, the motion detection system is configured to identify new motion zones that are not associated with any of the wireless communication devices in the system. For example, the motion detection system may determine that a subset of the motion sensing data is statistically significant and does not correspond to an existing motion zone. Based on the subset of the motion sensing data, the motion sensing may identify possible new motion zones that may be added to the motion detection system. The motion detection system may determine the location of the new motion sensing zone and present the new motion zone to the user in a spatial map. Along with the location of the new motion zone, the spatial map may indicate the location of the existing motion zones, the location of the wireless communication device, and other location information so that the user may determine whether to accept the new motion zone or how to name the new motion zone.
[0032] 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 allow a motion sensing system to identify a new motion zone that is not associated with a specific wireless communication device, and obtain user input based on a graphical presentation of the new motion zone in a spatial map of the wireless communication device. The spatial map provides a more intuitive representation of the new motion zone, allowing the user to understand the spatial relationship between the new motion zone and the existing motion zone. As another example, the systems and techniques save the user from having to manually add motion zones or build a spatial map. Alternatively, the motion detection system builds a spatial map and identifies new motion zones based on motion sensing data. The user can then refine the motion zone. The technical improvements and advantages achieved in the example of a wireless sensing system for motion detection can also be achieved in other examples of a wireless sensing system for other wireless sensing applications.
[0033] In some instances, a wireless sensing system can be implemented using a wireless communication network. Wireless signals received at one or more wireless communication devices in the wireless communication network can be analyzed to determine channel information of different communication links (between pairs of wireless communication devices) in the network. Channel information can represent the physical medium of a wireless signal that applies a transfer function to space. In some instances, the channel information includes a channel response. The channel response can characterize the physical communication path, thereby representing the combined effects of, for example, scattering, fading, and power attenuation in the space between the transmitter and the receiver. In some instances, the channel information includes beamforming state information (e.g., feedback matrix, steering matrix, channel state information (CSI), etc.) provided by a beamforming system. Beamforming is a signal processing technique often used in multi-antenna (multiple input / multiple output (MIMO)) radio systems for directional signal transmission or reception. Beamforming can be achieved by operating the elements in the antenna array in a manner that signals at specific angles undergo constructive interference and other signals undergo destructive interference.
[0034] Channel information for each communication link may be analyzed by one or more motion detection algorithms (e.g., running on a hub device, client device, or other device in a wireless communication network, or on a remote device communicatively coupled to the network) to detect, for example, whether motion has occurred in the space, to determine the relative location of the detected motion, or both. In some aspects, channel information for each communication link may be analyzed to detect, for example, whether an object is present or absent when no motion is detected in the space.
[0035] In some instances, the motion detection system returns motion data. In some implementations, the motion data is a result indicating the degree of motion in space, the location of motion in space, the time when the motion occurs, or a combination thereof. In some instances, the motion data may include data representing the position of one or more wireless communication devices relative to each other. For example, the data may represent the distance between a pair of wireless communication devices in a wireless communication network. The distance may be based on a physical or logical coordinate system. In the latter case, a logical coordinate system may be used to indicate a distance in addition to a physical distance. In some instances, the motion data may include a motion score, which may include or may be one or more of the following: a scalar indicating the level of signal disturbance in the environment accessed by the wireless signal; an indication of whether there is motion; an indication of whether there is an object; and an indication or classification of a gesture performed in the environment accessed by the wireless signal.
[0036] In some implementations, the motion detection system can be implemented using one or more motion detection algorithms. Example motion detection algorithms that can be used to detect motion based on wireless signals include the techniques described in the following patents, as well as others: U.S. Patent 9,523,760, entitled “Detecting Motion Based on Repeated Wireless Transmissions”; U.S. Patent 9,584,974, entitled “Detecting Motion Based on Reference Signal Transmissions”; U.S. Patent 10,051,414, entitled “Detecting Motion Based On Decompositions Of Channel Response Variations”; U.S. Patent 10,048,350, entitled “Motion Detection Based on Groupings of Statistical Parameters of Wireless Signals”; U.S. Patent 10,108,903, entitled “Motion Detection Based on Machine Learning of Wireless Signal Properties”; U.S. Patent 10,109,167, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,136,974, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,150,917, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,151,918, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,161,919, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,136,974, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,151,919, entitled “Motion Localization Based on Channel Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,136,974, entitled “Motion Localization ResponseCharacteristics”; U.S. Patent 10,743,143, entitled “Determining a Motion Zone for aLocation of Motion Detected by Wireless Signals”; U.S. Patent 10,605,908, entitled “Motion Detection Based on Beamforming Dynamic Information from WirelessStandard Client Devices”;U.S. Patent 10,605,907, entitled “Motion Detection by a Central Controller Using Beamforming Dynamic Information”; U.S. Patent 10,600,314, entitled “Modifying Sensitivity Settings in a Motion Detection System”; U.S. Patent 10,567,914, entitled “Initializing Probability Vectors for Determining a Location of Motion Detected from Wireless Signals”; U.S. Patent 10,565,860, entitled “Offline Tuning System for Detecting New Motion Zones in a Motion Detection System”; U.S. Patent 10,506,384, entitled “Determining a Location of Motion Detectedfrom Wireless Signals Based on Prior Probability”; U.S. Patent 10,499,364, entitled “Identifying Static Leaf Nodes in a Motion Detection System”; U.S. Patent 10,499,364, entitled “Classifying Static Leaf Nodes in a Motion Detection System” System”; U.S. Patent 10,498,467 entitled “Determining a Confidence for a Motion Zone Identifiedas a Location of Motion for Motion Detected by Wireless Signals”; U.S. Patent 10,460,581 entitled “Motion Detection based on Beamforming Dynamic Information”; U.S. Patent 10,459,076 entitled “Determining a Location of Motion Detected from Wireless Signals Based on Wireless Link Counting”;U.S. Patent 10,438,468, entitled “Motion Localization in a Wireless Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,404,387, entitled “Determining Motion Zones in a Space Traversed by Wireless Signals”; U.S. Patent 10,393,866, entitled “Detecting Presence Based on Wireless Signal Analysis”; U.S. Patent 10,380,856, entitled “Motion Localization Based on Channel Response Characteristics”; U.S. Patent 10,318,890, entitled “Training Data for a Motion Detection System using Data from a Sensor Device”; U.S. Patent 10,264,405, entitled “Motion Detection in Mesh Networks”; U.S. Patent 10,228,439, entitled “Motion Detection Based on Filtered Statistical Parameters of Wireless Signals”; U.S. Patent 10,393,866, entitled “Detecting Presence Based on Wireless Signal Analysis”; U.S. Patent 10,380,856, entitled “Motion Localization Based on Channel Response Characteristics”; U.S. Patent 10,318,890, entitled “Training Data for a Motion Detection System using Data from a Sensor Device”; U.S. Patent 10,264,405, entitled “Motion Detection in Mesh Networks”; U.S. Patent 10,228,439, entitled “Motion Detection Based on Filtered Statistical Parameters of Wireless Signals”; U.S. Patent 10,129,853, entitled “A Wireless Communication Network”; U.S. Patent 10,111,228, entitled “Selecting Wireless Communication Channels Based on Signal Quality Metrics”;
[0037] Figure 1 An example wireless communication system 100 is illustrated. The wireless communication system 100 may perform one or more operations of a motion detection system. Technical improvements and advantages realized from using the wireless communication system 100 to detect motion are also applicable in examples of using the wireless communication system 100 for other wireless sensing applications.
[0038] The example wireless communication system 100 includes three wireless communication devices 102A, 102B, and 102C. The example wireless communication system 100 may include additional wireless communication devices 102 and / or other components (e.g., one or more network servers, network routers, network switches, cables or other communication links, etc.).
[0039] The example wireless communication devices 102A, 102B, 102C may, for example, operate in a wireless network in accordance with a wireless network standard or other 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 type of wireless network. Examples of WLANs include networks configured to operate in accordance with one or more of the 802.11 family of standards developed by the IEEE (e.g., Wi-Fi networks), etc. Examples of PANs include networks configured to operate in accordance with short-range communication standards (e.g., Bluetooth Near Field Communication (NFC), ZigBee) and millimeter wave communication networks.
[0040] In some implementations, the wireless communication devices 102A, 102B, 102C may be configured to communicate in a cellular network, for example, according to a cellular network standard. Examples of cellular networks include networks configured according to the following standards: 2G standards such as Global System for Mobile (GSM) and Enhanced Data Rates for GSM Evolution (EDGE) or EGPRS; 3G standards such as Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), and Time Division Synchronous Code Division Multiple Access (TD-SCDMA); 4G standards such as Long Term Evolution (LTE) and Advanced LTE (LTE-A); 5G standards; and the like.
[0041] In some cases, one or more of the wireless communication devices 102 is a Wi-Fi access point or other type of wireless access point (WAP). In some cases, one or more of the wireless communication devices 102 is an access point of a wireless mesh network (e.g., a commercially available mesh network system (e.g., GOOGLE Wi-Fi, EERO mesh network, etc.), etc.). In some instances, one or more of the wireless communication devices 102 may be implemented as a wireless access point (AP) in the mesh network, while (one or more) other wireless communication devices 102 are implemented as leaf devices (e.g., mobile devices, smart devices, etc.) that access the mesh network through one of the APs. In some cases, one or more of the wireless communication devices 102 is a mobile device (e.g., a smart phone, a smart watch, a tablet, a laptop, etc.), a wireless-enabled device (e.g., a smart thermostat, a Wi-Fi-enabled camera, a smart TV), or other types of devices that communicate in a wireless network.
[0042] exist Figure 1 In the example shown, wireless communication devices transmit wireless signals to each other via wireless communication links (e.g., according to wireless network standards or non-standard wireless communication protocols), and the wireless signals communicated between these devices can be used as motion detectors to detect the movement of objects in the signal path between these 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.
[0043] exist Figure 1 In the example shown, the wireless communication link between the wireless communication devices 102A, 102C can be used to detect the first motion detection zone 110A, the wireless communication link between the wireless communication devices 102B, 102C can be used to detect the second motion detection zone 110B, and the wireless communication link between the wireless communication devices 102A, 102B can be used to detect the third motion detection zone 110C. In some examples, the motion detection zone 110 can include, for example, air, solid material, liquid, or other medium through which wireless electromagnetic signals can propagate.
[0044] exist Figure 1 In the example shown, when an object moves in any motion detection zone 110, the motion detection system can detect motion based on the signal transmitted through the associated motion detection zone 110. In general, the object can be any type of static or movable object, and can be animate or inanimate. For example, the object can be a human (e.g., Figure 1A person 106 is shown), an animal, an inorganic object, or other device, equipment or assembly, an object that defines all or part of the boundaries of a space (e.g., a wall, door, window, etc.), or other types of objects.
[0045] In some examples, the wireless signal propagates through a structure (e.g., a wall) before or after interacting with a moving object, which can enable detection of the object's motion without an optical line of sight between the moving object and the transmitting or receiving hardware. In some instances, the motion detection system can communicate the motion detection event to other devices or systems such as a security system or a control center.
[0046] In some cases, the wireless communication device 102 itself is configured to perform one or more operations of the motion detection system, such as by executing computer-readable instructions (e.g., software or firmware) on the wireless communication device. For example, each device can process received wireless signals to detect motion based on changes in the communication channel. In some cases, other devices (e.g., remote servers, cloud-based computer systems, network-attached devices, etc.) are configured to perform one or more operations of the motion detection system. For example, each wireless communication device 102 can send channel information to a designated device, system, or service that performs an operation of the motion detection system.
[0047] In an example aspect of operation, the wireless communication devices 102A, 102B may broadcast or address wireless signals to other wireless communication devices 102C, and the wireless communication devices 102C (and possibly other devices) receive the wireless signals transmitted by the wireless communication devices 102A, 102B. The wireless communication devices 102C (or other systems or devices) then process the received wireless signals to detect motion of objects in the space accessed by the wireless signals (e.g., in the zones 110A, 110B). In some instances, the wireless communication devices 102C (or other systems or devices) may perform one or more operations of a motion detection system.
[0048] Figure 2A and Figure 2B 204B, 204C. The wireless communication devices 204A, 204B, 204C may be, for example, Figure 1 The wireless communication devices 102A, 102B, 102C are shown, or may be other types of wireless communication devices.
[0049] In some cases, one or a combination of more than one of the wireless communication devices 204A, 204B, 204C may be part of or may be used by a motion detection system. The example wireless communication devices 204A, 204B, 204C may transmit wireless signals through the space 200. The example space 200 may be completely or partially enclosed or open at one or more boundaries of the space 200. The space 200 may be or may include the interior of a room, multiple rooms, a building, an indoor area or an outdoor area, etc. In the example shown, the first wall 202A, the second wall 202B, and the third wall 202C at least partially surround the space 200.
[0050] exist Figure 2A and Figure 2B In the example shown, the first wireless communication device 204A repeatedly (e.g., periodically, intermittently, at scheduled, unscheduled, or random intervals, etc.) transmits a wireless motion detection signal. The second wireless communication device 204B and the third wireless communication device 204C receive signals based on the motion detection signal transmitted by the wireless communication device 204A.
[0051] As shown in the figure, Figure 2A At an initial time (t0) in , the object is at a first position 214A, and Figure 2B At a subsequent time (t1), the object has moved to a second location 214B. Figure 2A and Figure 2B In FIG. 2 , the moving objects in space 200 are represented as humans, but the moving objects may be other types of objects. For example, the moving objects may be animals, inorganic objects (e.g., systems, devices, equipment, or assemblies), objects that define all or part of the boundaries of space 200 (e.g., walls, doors, windows, etc.), or other types of objects. Figure 2A and Figure 2B In the example shown, the wireless communication devices 204A, 204B, 204C are stationary and are therefore at the same location at the initial time t0 and the subsequent time t1. However, in other examples, one or more of the wireless communication devices 204A, 204B, 204C are mobile and can move between the initial time t0 and the subsequent time t1.
[0052] like Figure 2A and Figure 2B2 , multiple example paths of wireless signals transmitted from the first wireless communication device 204A are shown by dashed lines. Along the first signal path 216, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the first wall 202A toward the second wireless communication device 204B. Along the second signal path 218, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the second wall 202B and the first wall 202A toward the third wireless communication device 204C. Along the third signal path 220, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the second wall 202B toward the third wireless communication device 204C. Along the fourth signal path 222, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the third wall 202C toward the second wireless communication device 204B.
[0053] exist Figure 2A In FIG. 2 , along the fifth signal path 224A, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the object at the first location 214A toward the third wireless communication device 204C. Figure 2A The time t0 and Figure 2B During the time t1, the object moves from the first position 214A to the second position 214B (e.g., a distance away from the first position 214A) in the space 200. Figure 2B In FIG. 2 , along the sixth signal path 224B, the wireless signal is transmitted from the first wireless communication device 204A and reflected from the object at the second position 214B toward the third wireless communication device 204C. As the object moves from the first position 214A to the second position 214B, Figure 2B The sixth signal path 224B shown is Figure 2A The fifth signal path 224A is shown as being longer. In some examples, signal paths may be added, removed, or otherwise modified due to movement of objects in space.
[0054] Figure 2A and Figure 2B The example wireless signals shown may experience attenuation, frequency shift, phase shift, or other effects through their respective paths, and may have portions that propagate in other directions, such as through walls 202A, 202B, and 202C. In some examples, the wireless signals are radio frequency (RF) signals. The wireless signals may include other types of signals.
[0055] The transmission signal may have multiple frequency components in the frequency bandwidth, and the transmission signal may include one or more frequency bands within the frequency bandwidth. The transmission signal may be transmitted from the first wireless communication device 204A in an omnidirectional manner, in a directional manner, or in other ways. In the example shown, the wireless signal passes through multiple corresponding paths in the space 200, and the signal along each path may become attenuated due to path loss, scattering or reflection, etc., and may have a phase offset or a frequency offset.
[0056] like Figure 2A and Figure 2B As shown, signals from various paths 216, 218, 220, 222, 224A and 224B are combined at the third wireless communication device 204C and the second wireless communication device 204B to form a received signal. Due to the influence of multiple paths in the space 200 on the transmission signal, the space 200 can be represented as a transfer function (e.g., a filter) that inputs the transmission signal and outputs the received signal. In the case where the object moves in the space 200, the attenuation or phase shift applied to the wireless signal along the signal path can change, so the transfer function of the space 200 can change. When the same wireless signal is transmitted from the first wireless communication device 204A, if the transfer function of the space 200 changes, the output of the transfer function (e.g., the received signal) may also change. Changes in the received signal can be used to detect the movement of the object. On the contrary, in some cases, if the transfer function of the space does not change, the output of the transfer function (received signal) may not change.
[0057] Figure 2C is a diagram illustrating an example wireless sensing system operating to detect motion in a space 201 . Figure 2C The example space 201 shown is a home that includes multiple different spatial areas or zones. In the example shown, the wireless motion detection system uses a multi-AP home network topology (e.g., a mesh network or a self-organizing network (SON)), which includes three access points (APs) including a central access point 226 and two extended access points 228A and 228B. In a typical multi-AP home network, each AP typically supports multiple frequency bands (2.4G, 5G, 6G), and multiple frequency bands can be enabled at the same time. Each AP can use a different Wi-Fi channel to serve its clients, as this can allow for better spectrum efficiency.
[0058] exist Figure 2CIn the example shown, the wireless communication network includes a central access point 226. In a multi-AP home Wi-Fi network, one AP may be denoted as the central AP. This selection, often managed by manufacturer software running on each AP, is typically an AP with a wired Internet connection 236. Other APs 228A, 228B are wirelessly connected to the central AP 226 via respective wireless backhaul connections 230A, 230B. The central AP 226 may select a different wireless channel than the extended APs to serve its connected clients.
[0059] exist Figure 2C In the example shown, the extension APs 228A, 228B extend the range of the central AP 226 by enabling devices to connect to a possibly closer AP or a different channel. The end user does not need to know which AP the device has connected to, as all services and connectivity are generally the same. In addition to serving all connected clients, the extension APs 228A, 228B are also connected to the central AP 226 using wireless backhaul connections 230A, 230B to move network traffic between other APs and provide a gateway to the Internet. Each extension AP 228A, 228B can select a different channel to serve its connected clients.
[0060] exist Figure 2C In the example shown, client devices (e.g., Wi-Fi client devices) 232A, 232B, 232C, 232D, 232E, 232F, 232G are associated with one of the extension APs 228 or the central AP 226 using corresponding wireless links 234A, 234B, 234C, 234D, 234E, 234F, 234G. The client device 232 connected to the multi-AP executed on one or more of the client devices is a node in the multi-AP network. In some implementations, the client device 232 may include a wireless-enabled device (e.g., a mobile device, a smart phone, a smart watch, a tablet computer, a laptop computer, a smart thermostat, a wireless-enabled camera, a smart TV, a wireless-enabled speaker, a wireless-enabled power outlet, etc.).
[0061] When client devices 232 attempt to connect to and associate with their respective APs 226, 228, the client devices 232 may go through authentication and association phases with their respective APs 226, 228. The association phase assigns address information (e.g., an association ID or other type of unique identifier) to each client device 232, among other things. For example, within the IEEE 802.11 family of standards for Wi-Fi, each client device 232 may identify itself using a unique address (e.g., a 48-bit address, an example being a MAC address), although other types of identifiers embedded within one or more fields of a message may be used to identify the client device 232. The address information (e.g., a MAC address or other type of unique identifier) may be hard-coded and fixed, or may be randomly generated according to network address rules at the beginning of the association process. Once the client devices 232 are associated with their respective APs 226, 228, their respective address information may remain fixed. Subsequently, transmissions utilizing the AP 226, 228 or client device 232 typically include address information (eg, MAC address) of the transmitting wireless device and address information (eg, MAC address) of the receiving device.
[0062] exist Figure 2C In the example shown, wireless backhaul connections 230A, 230B carry data between APs and may also be used for motion detection. The various wireless backhaul channels (or frequency bands) may be different than the channels (or frequency bands) used to serve connected Wi-Fi devices.
[0063] exist Figure 2C In the example shown, wireless links 234A, 234B, 234C, 234D, 234E, 234F, 234G may include frequency channels used by client devices 232A, 232B, 232C, 232D, 232E, 232F, 232G to communicate with their respective APs 226, 228. Each AP may independently select its own channel to serve its respective client devices, and wireless links 234 may be used for data communications as well as motion detection.
[0064] The motion detection system (which may include one or more motion detection or positioning processes running on one or more of the client devices 232 or on one or more of the APs 226, 228) may collect and process data (e.g., channel information) corresponding to the local links participating in the operation of the wireless sensing system. The motion detection system may be installed on the client device 232 or on the AP 226, 228 as a software or firmware application, or may be part of the operating system of the client device 232 or the AP 226, 228.
[0065] In some implementations, the APs 226, 228 do not include motion detection software and are not otherwise configured to perform motion detection in the space 201. Instead, in such implementations, operations of the motion detection system are performed on one or more of the client devices 232. In other implementations, one or more operations of the motion detection system may be performed on a cloud-based processor. In some implementations, channel information may be obtained by the client device 232 by receiving wireless signals from the APs 226, 228 (or possibly from other client devices 232) and processing the wireless signals to obtain channel information. For example, a motion detection system running on a client device 232 may utilize channel information provided by the radio firmware (e.g., Wi-Fi radio firmware) of the client device so that the channel information may be collected and processed.
[0066] In some implementations, client devices 232 send requests to their respective APs 226, 228 to transmit wireless signals that can be used by the client devices as motion detectors to detect motion of objects in space 301. The requests sent to the respective APs 226, 228 can be null data packet frames, beamforming requests, pings, standard data traffic, or a combination thereof. In some implementations, client devices 232 are stationary while performing motion detection in space 201. In other examples, one or more of client devices 232 can be mobile and can move within space 201 during motion detection.
[0067] Mathematically, the following equation can be used to describe the transmission from a wireless communication device (e.g., Figure 2A and Figure 2B The wireless communication device 204A or Figure 2C The signal f(t) transmitted by AP 226, 228) in
[0068]
[0069] Among them, ω n represents the frequency of the nth frequency component of the transmitted signal, c n represents the complex coefficient of the nth frequency component, and t represents time. In the case where the transmission signal f(t) is being transmitted, the output signal r from path k can be described according to equation (2): k (t):
[0070]
[0071] Among them, α n,krepresents the attenuation factor (or channel response; e.g. due to scattering, reflection, and path loss) of the nth frequency component along path k, and φ n,k represents the phase of the signal of the nth frequency component along path k. Then, the received signal R at the wireless communication device can be described as all the output signals r from all paths to the wireless communication device k The sum of (t), which is shown in equation (3):
[0072]
[0073] Substituting equation (2) into equation (3) yields the following equation (4):
[0074]
[0075] The wireless communication device (eg, Figure 2A and Figure 2B The wireless communication device 204B, 204C or Figure 2C The received signal R at the client device 232 or AP 226, 228 in the wireless communication device can be transformed into the frequency domain, for example, using a fast Fourier transform (FFT) or other type of algorithm. The transformed signal can represent the received signal R as a series of n complex values, where one complex value is used for (n frequency ω n Each frequency component in the corresponding frequency component of the frequency component at the position. n The frequency component at can be expressed in equation (5) as follows: n :
[0076]
[0077] Given a frequency component ω n The complex value Y n Indicates the frequency component ω n The relative magnitude and phase offset of the received signal at the location. The signal f(t) may be repeatedly transmitted over a period of time, and a complex value Y may be obtained for each transmitted signal f(t) n When the object moves in space, due to the spatial channel response α n,k is constantly changing, so the complex value Y n Therefore, the detected change in the channel response (and thus the complex value Y n ) may indicate the motion of an object within the communication channel or the relative motion of a transmitter or a receiver. Conversely, a stable channel response may indicate a lack of motion. Thus, in some implementations, a complex value Y for each of a plurality of devices in a wireless network may be processed.n , to detect whether motion has occurred in the space traversed by the transmitted signal f(t). The channel response can be represented in the time domain or the frequency domain, and the Fourier transform or inverse Fourier transform can be used to switch between the time domain representation of the channel response and the frequency domain representation of the channel response.
[0078] exist Figure 2A , Figure 2B , Figure 2C In another aspect of the invention, beamforming state information can be used to detect whether motion has occurred in the space traversed by the transmission signal f(t). For example, beamforming can be performed between devices based on some knowledge of the communication channel (e.g., feedback attributes generated by the receiver), which can be used to generate one or more steering attributes (e.g., steering matrices) applied by the transmitter device to shape the transmission beam / signal in one or more specific directions. In some instances, changes in steering or feedback attributes used in the beamforming process indicate changes in the space accessed by the wireless signal that may be caused by moving objects. For example, motion can be detected by identifying significant changes in the communication channel over a period of time (as indicated by the channel response, steering or feedback attributes, or any combination thereof).
[0079] In some implementations, for example, a steering matrix may be generated at a transmitter device (beamforming transmitting end) based on a feedback matrix provided by a receiver device (beamforming receiving end) based on channel sounding. Since the steering matrix and the feedback matrix are related to the propagation characteristics of the channel, these beamforming matrices change as objects move within the channel. Changes in channel characteristics are reflected in these matrices accordingly, and by analyzing the matrices, motion may be detected, and different characteristics of the detected motion may be determined. In some implementations, a spatial map may be generated based on one or more beamforming matrices. A spatial map may indicate the approximate direction of an object in space relative to a wireless communication device. In some cases, a "mode" of a beamforming matrix (e.g., a feedback matrix or a steering matrix) may be used to generate a spatial map. A spatial map may be used to detect the presence of motion in space or to detect the location of a detected motion.
[0080] Figure 3A FIG. 1 is a diagram of an example wireless communication network 300 including a plurality of wireless nodes 302. The plurality of wireless nodes 302 may be similar to Figure 1 and FIG. 2A to FIG. 2B The wireless communication device 102, 204. Figure 3A, three wireless nodes 302 are depicted, labeled N0, N1, and N2. However, other numbers of wireless nodes 302 are possible in the wireless communication network 300. In addition, other types of nodes are possible. For example, the wireless communication network 300 may include one or more network servers, network routers, network switches, network repeaters, or other types of networking or computing devices.
[0081] The wireless communication network 300 includes a wireless communication channel 304 that communicatively couples corresponding pairs of wireless nodes 302. Such communicatively coupling may allow wireless signals to be exchanged between the wireless nodes 302 over a time frame. In particular, the wireless communication channel 304 allows bidirectional communication between corresponding pairs of wireless nodes 302. Such communication may occur simultaneously in both directions (e.g., full-duplex) or in only one direction at a time (e.g., half-duplex). In a communication network such as Figure 3A In some examples shown in , the wireless communication channel 304 communicatively couples each pair of the plurality of wireless nodes 302. In other examples, one or more pairs of wireless nodes 302 may lack a corresponding wireless communication channel 304.
[0082] Each wireless communication channel 304 includes two or more wireless links, including at least one wireless link for each direction of bidirectional communication. Figure 3A In the figure, arrows represent individual wireless links. ij , where the first subscript i indicates a transmitting wireless node and the second subscript j indicates a receiving wireless node. For example, wireless nodes N0 and N1 are connected by Figure 3A The two wireless links L indicated by two arrows in 01 and L 10 Communicatively coupled. Wireless link L 01 corresponds to wireless communication along the first direction from N0 to N1, and the wireless link L 10 Corresponding to wireless communication along the opposite second direction from N1 to N0.
[0083] In some implementations, the wireless communication network 300 obtains a set of motion indication values associated with a time frame, which may include information about FIG. 2A to FIG. 2B The process of motion detection described herein. The set of motion indication values indicates motion detected from a wireless link in a wireless communication network. Each motion indication value is associated with a corresponding wireless link. One or more wireless links (e.g., Figure 3A One or more wireless links L 01 , L 10 , L 02 , L 20 , L12 and L 21 ) to detect motion. Each of the wireless links is defined between a corresponding pair of wireless communication devices (eg, a pair combination of wireless nodes N0, N1, and N2) in the wireless communication network.
[0084] In some variations, the wireless communication network 300 may include a data processing device (e.g., a network server, a wireless communication device, a network router, etc.) that executes program instructions. The program instructions may cause the data processing device to assign a unique node identifier to each wireless node 302 in the wireless communication network 300. The unique node identifier may be mapped to a medium access control (MAC) address value that corresponds to a MAC address (or portion thereof) associated with the wireless node. For example, Figure 3A The wireless nodes N0, N1, and N2 may be associated with a six-character portion of their respective MAC addresses, which is then mapped to a unique node identifier:
[0085] {N0,N1,N2}→{7f4440,7f4c9e,7f630c}→{0,1,2}
[0086] Here, MAC address values 7f4440, 7f4c9e, and 7f630c are mapped to corresponding unique node identifiers 0, 1, and 2. The program instructions may also cause the data processing device to associate wireless links with their corresponding wireless node pairs via corresponding MAC address value pairs. The MAC address values may then be mapped to unique link identifiers to form a link table. For example, Figure 3A The wireless link L 01 , L 10 , L 02 , L 20 , L 12 and L 21 It can be mapped to a unique link identifier according to the following:
[0087]
[0088] The MAC address values may be ordered from left to right to indicate corresponding pairs of transmitting wireless nodes and receiving wireless nodes in a wireless link. In particular, the left MAC address value may correspond to a transmitting wireless node, and the right MAC address value may correspond to a receiving wireless node. This mapping of unique node and link identifiers may assist a data processing device in performing operations such as searching, sorting, and matrix operations during the processing of motion detection.
[0089] The program instructions may further cause the data processing device to poll the wireless link (or wireless node 302) to obtain a motion indication value for each wireless link in the plurality of wireless links. Figure 3AThe wireless links of the wireless communication network 300 may report the motion indication value according to a data structure such as shown below:
[0090]
[0091] In the data structure, the first column corresponds to a unique link identifier for the wireless link, and the second column of the data structure corresponds to the corresponding motion indication value for the wireless link. Generally, a higher motion indication value indicates a higher degree of disturbance for a particular wireless link. The data structure may be an array as shown above, or some other type of data structure (e.g., a vector). Although the data structure is presented as having three significant digits for each motion indication value, other significant digits are possible for the motion indication value (e.g., 2, 5, 9, etc.).
[0092] In some implementations, the output of the motion detection system can be provided as a notification displayed graphically on a user interface on a user device. Figure 3B is a diagram illustrating an example graphical display on a user interface 350 on a user device. In some implementations, the user device is a client device 232 for detecting motion, a user device designated for a caregiver or emergency contact of an individual in a space 200, 201, or any other user device communicatively coupled to a motion detection system to receive notifications from the motion detection system.
[0093] Figure 3B The example user interface 350 shown includes an element 352 for displaying motion data generated by the motion detection system. Figure 3B As shown, element 352 includes a horizontal timeline including a time period 354 (which includes a series of time points 356) and a plot of motion data indicating the degree of motion detected by the motion detection system for each time point in the series of time points 356. In the example shown, the user is notified that the detected motion begins at a particular time (e.g., 9:04) near a particular place (e.g., a kitchen), and the relative degree of motion detected is indicated by the height of the curve at each time point.
[0094] Figure 3B The illustrated example user interface 350 also includes an element 358 that displays the relative degree of motion detected in each motion zone of the motion detection system. In particular, element 358 indicates that 8% of the motion was detected in the "entrance" zone, while 62% of the motion was detected in the "kitchen" zone. The data provided in elements 352, 358 can help a user determine appropriate actions to take in response to a motion detection event, correlate a motion detection event with the user's observations or knowledge, determine whether a motion detection event is true or false, and the like.
[0095] In some implementations, the output of the motion detection system can be provided in real time (e.g., to an end user). Additionally or alternatively, the output of the motion detection system can be stored (e.g., locally on the wireless communication device 204, the client device 232, the AP 226, 228, or stored on a cloud-based storage service) and analyzed to reveal statistical information over a time frame (e.g., hours, days, or months). Examples of where the output of the motion detection system can be stored and analyzed to reveal statistical information over a time frame are in health monitoring, vital sign monitoring, sleep monitoring, and the like. In some implementations, an alert (e.g., a notification, an audio alert, or a video alert) can be provided based on the output of the motion detection system. For example, a motion detection event can be communicated to other devices or systems (e.g., a security system or control center), a designated caregiver, or a designated emergency contact based on the output of the motion detection system.
[0096] Reference now Figure 4A , presents a diagram of an example space 400 associated with a wireless communication network 402. The example space 400 may be a residence that is partitioned by one or more physical walls 404 to define various areas 406, such as a common area 406a, an entrance 406b, a living room 406c, and a kitchen 406d. The wireless communication network 402 includes wireless communication devices 408a, 408b connected by wireless links 410. For example, wireless link 410a connects AP 408a with wireless communication device D5 (408b). Wireless link 410b connects AP 408a with wireless communication device D2 (408b). Wireless link 410c connects AP 408a with wireless communication device D1 (408b). Wireless link 410d connects AP 408a with wireless communication device D3 (408b). Wireless link 410e connects AP 408a with wireless communication device D4 (408b). In Figure 4A In FIG. 4 , the wireless communication devices 408 a, 408 b are labeled Di, where the index i indicates the i-th wireless communication device. Similarly, the wireless link 410 is labeled Li, where the index i indicates the i-th wireless link 410. Figure 4A The wireless communication devices in the wireless communication network 402 include wireless AP devices 408a (which can be used as a hub in the wireless communication network 402) and wireless client (or leaf) devices 408b (such as mobile devices, smart phones, smart watches, tablets, laptops, smart thermostats, wireless-enabled cameras, smart TVs, wireless-enabled speakers, wireless-enabled power outlets, etc.). Wireless links 410 can be defined by corresponding pairs of wireless communication devices in the wireless communication network 402. The wireless communication network 402 can be part or all of a motion detection system that, in many variations, generates motion sensing data based on wireless signals transmitted over the wireless links 410.
[0097] In some cases, the example space 400 may include objects or people moving therein. The movement of such objects or people may interfere with the wireless links 410, especially pairs of wireless links 410 that are adjacent to each other. Figure 4A p ij The probability shown in FIG. 1 may be associated with pairs of wireless links that are sequentially disturbed by motion in time. For example, the probability p ij (a) Associated with wireless links L1 and L2. Probability p ij (b) Associated with wireless links L2 and L3. Probability p ij (c) Associated with wireless links L3 and L4. Probability p ij (d) associated with wireless links L4 and L5. The probability may be inversely proportional in magnitude to the distance between the wireless communication devices 408a, 408b that define the wireless link pair. For example, the probability may be inversely proportional to the distance between a first wireless communication device associated with a first wireless link in the wireless link pair that is disturbed by motion and a second wireless communication device associated with a second wireless link in the wireless link pair. The wireless link pair may share a wireless communication device (e.g., wireless AP 408a) in common. Figure 4A A wireless link pair is depicted that is associated with a respective wireless client 408b. However, other types of wireless communication devices are possible (eg, an AP).
[0098] The probability of sequential interference can be affected by factors in the example space 400, such as the relative locations of the wireless communication devices that define the wireless link pairs and the physical objects between them (e.g., one or more physical walls 404), etc. The probability of sequential interference is the probability of stimulating another specific link set immediately after a specific link set. For example, wireless communication devices that are close to each other (such as wireless communication devices D1 and D3, etc.) can define wireless link pairs (e.g., L3 and L4) that have a higher probability of sequential interference than wireless link pairs (e.g., L1 and L2) defined by wireless communication devices that are far away from each other (such as wireless communication devices D2 and D5, etc.). The presence of the physical wall 404 may hinder the movement of objects or people, thereby reducing the transfer of objects or people from one side of the physical wall 404 to the other side. For example, the wireless link pairs L2 and L3 in the example space 400 are separated by the physical wall 404, whereby the probability of sequential interference of the wireless link pairs may be reduced relative to the situation where the physical wall 404 does not exist. The interval at which this integration occurs is a design parameter. A commonly recommended interval for determining these transition probabilities is a one-day (24-hour) interval, which allows (but does not always allow) that the user has visited all locations associated with different wireless devices and has interfered with all links at least once so that the system has estimated these sequence or transition probabilities.
[0099] In some implementations, example space 400 corresponds to a house partitioned into different living spaces. Entrance 406b and living room 406c may have a large wall separating them, so people entering entrance 406b cannot enter living room 406c without passing through public area 406a where wireless AP 408a is located. Since people cannot pass directly between entrance 406b and living room 406c, motion sensing data will represent a low transition probability between the entrance and living room coverage area of wireless link 410 (e.g., between L4 and L5). Thus, motion sensing data can provide a basis for a map of a house where entrance 406b and living room 406c are placed far away from each other. In addition, kitchen 406d is located at a corner of the house opposite to entrance 406b. Movement between entrance 406b to kitchen 406d is even less likely than movement between entrance 406b and living room 406c. Thus, the motion sensing data will indicate a very low transition probability between the entrance and kitchen coverage areas (e.g., between L2 and L5) of the wireless link 410 (if present). In this case, the motion sensing data can provide a basis for a map of a house in which the entrance 406b and the kitchen 406d are placed farther from each other than the entrance 406b and the living room 406c. However, the kitchen 406d and the living room 406c are separated by a partial wall. This configuration may be similar to an "open concept" house, and thus movement between the kitchen 406d and the living room 406c may be common. Therefore, the motion sensing data will indicate a high transition probability between the kitchen and the living room coverage areas (e.g., L2 and L3) of the wireless link 410. Therefore, the motion sensing data can provide a basis for a map of a house in which the kitchen 406d and the living room 406c are placed close to each other (e.g., adjacent to each other).
[0100] like Figure 4A As shown, different living spaces of a house can be associated with one or more wireless communication devices. Common area 406a, entrance 406b and kitchen 406d are associated with corresponding wireless communication devices D5, D4 and D2, for example. Living room 406c is associated with two wireless communication devices D1 and D3. In some instances, one or more wireless communication devices allow the sequential interference of two wireless links 410 to be related to the movement of objects or people between different living spaces. For example, the sequential interference of wireless links L2 and L3 can be related to the movement between living room 406c and kitchen 406d. In some instances, one or more wireless communication devices allow the sequential interference of two wireless links 410 to be related to the movement within a single living space. For example, the sequential interference of wireless links L3 and L4 can be related to the movement within living room 406c.
[0101] As described above, the probability of interfering with a pair of wireless links 410 in a house may be related to the distance between two wireless communication devices associated with the pair of wireless links 410. For example, wireless communication devices D1 and D3 are closer to each other than wireless communication devices D2 and D5. Thus, the probability that wireless links L3 and L4 are interfered with in sequence is higher than the probability that wireless links L1 and L2 are interfered with in sequence. Therefore, the motion sensing data of the house may indicate a high frequency interference of wireless links L3 and L4 relative to wireless links L1 and L2. Therefore, the motion sensing data may be used to determine the probability of sequential interference of wireless links L3 and L4 relative to wireless links L1 and L2. The probability then allows the distance between wireless communication devices D1 and D3 and the distance between wireless communication devices D2 and D5 to be determined. In general, the motion sensing data of wireless links 410 in a house may be used to determine the distance between wireless communication device pairs, which in turn may be used to determine a spatial map for wireless communication devices.
[0102] Figure 4B is based on Figure 4AFIG. 4 is a diagram of an example spatial map 450 of an example space 400 of an example space 400. The example spatial map 450 represents a spatial arrangement of wireless communication devices 408a, 408b in the example space 400. The spatial arrangement can be based on spatial coordinates (e.g., xy coordinates) of each wireless communication device 408a, 408b in a coordinate system of the example spatial map 450, and the spatial coordinates can be generated based on motion sensing data. In some instances, the coordinate system is a physical coordinate system (e.g., using physical coordinates). In other instances, the coordinate system is a logical coordinate system (e.g., using arbitrary coordinates). To generate the spatial coordinates, the computing device can process the motion sensing data to determine the distance between the wireless communication device pair 408a, 408b, and calculate the spatial coordinates based on the distance. In many implementations, the spatial arrangement of the wireless communication devices includes a spatial path 452 between a selected pair of wireless communication devices. For example, the spatial path 452a is between the AP (408a) and the wireless communication device D5 (408b). The spatial path 452b is between the AP (408a) and the wireless communication device D1 (408b). Spatial path 452c is between AP (408a) and wireless communication device D4 (408b). Spatial path 452d is between wireless communication device D1 (408b) and wireless communication device D2 (408b). Spatial path 452e is between wireless communication device D1 (408b) and wireless communication device D3 (408b). The computing device may determine the spatial paths 452 by generating a spanning tree based on the spatial coordinates. For example, the computing device may execute a spanning tree algorithm to determine the minimum number of spatial paths 452 used to connect the wireless communication devices 408. In some instances, the minimum number corresponds to the number of spatial paths 452 having corresponding lengths (which, when summed, have the minimum length). Figure 4B The connectivity illustrated by way of example in the example is the connectivity of the spanning tree. The spanning tree is based on the distance between devices. Therefore, Figure 4B The lines in do not represent wireless links, but spanning tree links.
[0103] In some implementations, the computing device determines the spatial coordinates by generating a final spatial coordinate set based on an initial set of spatial coordinates. For example, the computing device may execute program instructions that define an optimization process for the initial set of spatial coordinates. In these implementations, the computing device may generate a first data structure (e.g., a first matrix) including probability values for each pair of wireless links 410 based on motion sensing data. The probability values may represent the probability that the wireless link 410 pair is interfered with in sequence. The computing device also generates a second data structure (e.g., a second matrix) that includes distance values for each pair of wireless communication devices that define the wireless link 410. The distance value may be based on the probability value (e.g., its inverse) and represent the distance between the wireless communication device pair. For example, the distance d between the two devices ijThe probability p that can be associated with these two devices ij Related, such as ij ∝1 / p ij Or otherwise. Then, the computing device converts the distance value into an initial spatial coordinate set. The initial spatial coordinate set indicates the location of the wireless communication device in a two-dimensional coordinate system (e.g., an xy coordinate system). The two-dimensional coordinate system can be a physical or logical coordinate system. In some examples, the computing device generates a third data structure (e.g., a third matrix) that includes the initial spatial coordinate set.
[0104] In an implementation using an optimization process, the computing device then selects arbitrary coordinates for the wireless communication device pair that defines the wireless link 410. The computing device then determines a test distance between the wireless communication device pair based on the arbitrary coordinates. The test distance is subtracted from the distance value of the wireless communication device pair in the second data structure. The resulting difference is then squared. For example, and with reference to Figure 4A , the second data structure can have distance values The distance value represents the distance between wireless communication devices D1 and D2. Based on the probability p that wireless links L2 and L3 are interfered in sequence 23 The computing device selects the vectors for the wireless communication devices D1 and D2 in the two-dimensional coordinate system. Based on these coordinates, the computing device determines the test distances of the wireless communication devices D1 and D2 And subtract the distance value from the test distance The difference is then squared, e.g.
[0105] As part of the optimization process, the computing device determines the squared differences for each pair of wireless communication devices that define the wireless link 410 (e.g., as described above). The computing device then sums all of the squared differences to produce a residual value that characterizes an arbitrary coordinate selected for the wireless communication device pair. The computing device then iteratively changes the arbitrary coordinate to find the minimum residual value. The arbitrary coordinate associated with the minimum residual value corresponds to a final set of spatial coordinates and can be aggregated into a third data structure (e.g., a third matrix). In some cases, the optimization process may use the following objectives:
[0106]
[0107] where X is the vector of coordinates of each device; D(X) is the distance matrix generator from the coordinates, and D p is the distance matrix generator from inverse probability.
[0108] Figure 5A yes Figure 4AFIG. 4 shows an example space 400 illustrated in FIG. The motion detection system may initially identify motion zones associated with respective wireless communication devices 408a, 408b. Typically, motion in one zone associated with a wireless communication device will interfere with all wireless links of the device. For example, Figure 5A Motion at the AP in the will typically interfere with wireless links L1, L2, L3, L4, and L5; and motion at each leaf device will typically interfere with the unique wireless link of that leaf device. In some cases, the motion detection system may identify one or more new motion zones that are not associated with any wireless communication device. Figure 5A In the example shown, a first area 502 and a second area 504 are identified in the space 400 based on motion sensing data derived from wireless signals transmitted through the space 400. The first area 502 and the second area 504 are not associated with any wireless communication devices 408a, 408b. The first area 502 is an area in the space 400 where the wireless link L1 and the wireless link L3 are simultaneously affected by motion. In this example, the simultaneous excitation of the wireless link L1 and the wireless link L3 represented by the link interference signature [L1, L3] indicates that there is an area in the space 400 that is different from the area close to the device D1 or the device D3. Therefore, the first area 502 can be represented as a different physical area and can be marked (for example, in collaboration with the user). The second area 504 is defined by the simultaneous excitation of three wireless links in the space 400. In the case of the second area 504 represented by the link interference signature [L1, L2, L3], the wireless link L3, the wireless link L1 and the wireless link L2 are interfered with at the same time. When areas such as first area 502 and second area 504 are discovered, the system can then present new information to the user (e.g., in the form of a graphical representation of the space) to obtain appropriate names / labels for areas 502 and 504 in space 400. In various embodiments, motion sensing data and other characteristics of wireless link interference (besides co-activation of links with other links) can be analyzed to discover new motion areas such as areas 502 and 504.
[0109] Figure 5B is an example of a transfer matrix 520 illustrating the addition of motion zones not associated with a wireless communication device. The transfer matrix 520 shows the probability of motion transitions between pairs of motion zones. If there are many transitions between two motion zones, this can be interpreted as a proxy for physical proximity, and as described above, the inverse of the transition probability can be used as a measure of the distance between the motion zones.
[0110] However, in this case, rows and columns are added to the matrix to represent the new motion region. In this example, the new motion region is the Figure 5AThe regions 502, 504 with link interference signatures discussed. In particular, a first new row and a first new column are added to the transition matrix 520 to represent a first new motion region, which is the region 502 with the link interference signature [L1, L3]; a second new row and a second new column are added to the transition matrix 520 to represent a second new motion region, which is the region 504 with the link interference signature [L1, L2, L3]. The added rows contain the number of transitions to and from additional signatures that have been discovered in space and are not associated with the wireless communication device. Figure 5A In the illustrated example, two new motion zones are described. Therefore, two rows and two columns are added to the transition matrix. The rows and columns are again the number of transitions to and from the newly determined motion zones, which correspond to, for example, the first region 502 and the second region 504. Once the matrix is constructed, the distance matrix can be decomposed into coordinates such that the coordinates satisfy the distance between any two points as given in the matrix.
[0111] Figure 5C is based on Figure 5A An example spatial map 550 of the space 400 illustrated in FIG. Figure 5A The locations of the first region 502 and the second region 504 of the significant link interference signature are illustrated. The spatial map 550 shows that two additional rows and columns are added to Figure 5B The result is the matrix shown in . Figure 5C As shown, two new motion zones are represented as new points in the spatial map 550. In particular, the "living room entrance" point in the spatial map 550 corresponds to Figure 5A and the "corridor" point in the spatial map 550 corresponds to Figure 5A in area 504. Figure 5C The connectivity illustrated by way of example in the example is the connectivity of the spanning tree. The spanning tree is based on the distance between devices. Therefore, Figure 5C The lines in do not represent wireless links, but spanning tree links.
[0112] Reference again Figure 5A , when moving from the access point AP to the device D1, a unique link interference pattern is created in the second area 504. Figure 5C, this link interference pattern has now been mapped for the user as a new motion zone on the spatial map 550. In addition, the user may receive a notification as follows: somewhere between the access point AP and the device D1, the system has discovered a new zone. The system may ask the user if he wants to mark this new zone. If the user wants to mark the new zone, a name (e.g., "corridor") may be assigned to the pattern. This process may be repeated for all such new motion zones based on the discovered link interference pattern. Thus, once a new motion zone is discovered and shown to the user, two (or more than two) basic choices may be presented to the user. First, the user may identify the new motion zone as a new unique zone in the house, or, second, the user may not be interested in this level of granularity and decide not to name the newly identified motion zone.
[0113] Still reference Figure 5B , functionality that allows a user to decide to tag a newly identified motion zone has particular application in Internet of Things (IoT) applications where a user may have preferences for how a space is utilized or controlled. For example, a user may want the lights to come on when the user appears in, for example, a lobby; or, a user may want the lights to remain on even when the user moves to, for example, a hallway. In this exemplary application, there is no need to distinguish between the lobby and hallway spaces because the user does not want to have separate controls for the lobby and hallway spaces. Therefore, no new zone is needed. However, if the user does want separate control of the two spaces, the user may choose to assign two separate tags to each space.
[0114] Figure 6 is a block diagram of an example method for determining the significance of a link interference signature. In various embodiments, a unique region may appear as a combination of excitations for wireless links that would not normally experience simultaneous interference. Figure 6 , the excitation link is illustrated as box 603. However, the occurrence of a unique link interference signature alone is not enough, because sometimes other phenomena (e.g., noise or multiple people) may cause different excitations. For unexpected link excitation signatures that are considered unique and effectively present, they may also occur frequently enough relative to the interference observed on other wireless links. Therefore, the statistical significance of the link excitation signature can be measured by the relative frequency of the signature formed by the combination of links relative to the constituent links. If the number of occurrences of the link excitation signature combination (as a small fraction of the number of occurrences of the combined single link) is above a certain threshold, the link excitation signature is persistent enough to become a device-free zone and robust enough to be mapped in space 400. For example, in various embodiments, if a certain link excitation signature is seen at least 1% of the time for two consecutive days in all possible link pairs, the link excitation signature can be considered to be a robust and persistent link excitation pattern.
[0115] Still reference Figure 6, link excitations on a wireless network 601 are measured and then separated into two branches by a pair filter 602. The pair filter 602 separates the link pairs into two streams. In the first stream 604 are pairs that occur in the system with the help of network connectivity. For example, the patterns {L1} and {L1, L2, L3, L4, L5} are network-induced (or "natural") pairs. This means that the connectivity of the network ensures that these link pairs will exist. For example, if movement occurs close to device D1, the pair {L1} will be excited. However, if movement occurs near the AP, the pair {L1, L2, L3, L4, L5} will be excited. The pair filter 602 separates pairs induced by network connectivity from pairs that are not induced by network connectivity. Links generated due to network connectivity remain in the system, while links induced by non-connectivity are subjected to persistence tests to exist in the system. In the first stream 604 are links and link pairs that are expected due to the topology of the network. Examples of these sets include [{L1}, {L2}, {L3}, {L4}, {L5}, {L1L2L3L4L5}]. In various embodiments, {L1L2L3L4L5} is a naturally occurring pair because when movement occurs close to an access point (AP), the movement is interfering with all links connected to the access point (AP). In the second stream 606 are unexpected signatures. Examples of these signatures include signatures that have been discussed previously, such as [{L1L3}, {L1L2L3}], etc. The individual links in the first stream 604 and the second stream 606 are then passed to a pair counter 605. The pair counter 605 counts the link patterns seen in any given amount of time. For example, if the aggregation threshold is based on a 24-hour period, the counter will count each time a link pair occurs in a 24-hour period. The system then runs a significance test on the counted link pairs. The pair counter is then reset and starts counting again. After counting the counter 605, the newly discovered signature is analyzed via a statistical significance test 608. The significance test 608 measures a certain unexpected (or "novel") link pair that is seen consistently enough to be considered significant. In various implementations, the significance threshold is a design parameter configured by a user or designer. For example, a user may indicate that he visits a specific area of the space once a week. In this scenario, any connected WiFi client will see at least a few seconds of movement in these specific areas every week. If a unique or novel link pair is consistently seen for at least a few seconds per week, this novel link pair can be considered significant. Similarly, the user can also indicate that he visits other areas of the space every day. In this scenario, the significance test will change from a novel link excitation signature that exists for a few seconds per week to a novel link excitation signature that exists for a few seconds every 24 hours. If the signature occurs frequently enough, the identified link interference signature is added to the link dictionary of the valid zone in the network.
[0116] Figure 7 7 is a flow chart of an example process 700 performed, for example, by a motion detection system. The motion detection system may process information based on wireless signals transmitted through space (e.g., over a wireless link between wireless communication devices) to detect motion of objects in space (e.g., such as with respect to Figure 1 and FIG. 2A to FIG. 2B , or other such descriptions). The operations of example process 700 may be performed by a remote computer system (e.g., a server in the cloud), a wireless communication device (e.g., one or more wireless communication devices), or other types of systems. For example, one or more operations of example process 700 may be performed by Figure 1 Example wireless communication devices 102A, 102B, 102C, Figure 2C The client device 232 or AP 226, 228, FIG. 4A to FIG. 4B The communication may be performed by one or more of the wireless communication devices 408a, 408b, or by a cloud-based computer system.
[0117] The example process 700 may include additional or different operations, and these operations may be performed in the order shown or in other orders. Figure 7 One or more than one operation shown may be implemented as a process that includes multiple operations, sub-processes, or other types of routines. In some cases, the operations may be combined, performed in other orders, performed in parallel, iterated or otherwise repeated, or performed in other ways.
[0118] At 710, motion zones are identified. A subset (e.g., one, some, or all) of the motion zones are associated with at least a wireless communication device in the wireless network. In some cases, one or more of the motion zones are not associated with a wireless communication device. Each motion zone represents a different area in the space where a motion detection system can detect motion. For example, in various embodiments, the different areas can be spaces proximate to a wireless communication device associated with the wireless network.
[0119] At 720, motion sensing data is generated based on wireless signals transmitted between wireless communication device pairs in the wireless communication network. In various embodiments, the motion sensing data represents motion occurring in space. For example, the motion sensing data may be generated based on first wireless signals transmitted on wireless links defined by corresponding wireless communication device pairs in the wireless communication network during a first time period. The motion sensing data may represent changes in channels or interference in wireless links caused by motion in space associated with the wireless communication network.
[0120] At 730, a new motion region that is not associated with the wireless communication device is identified. The new motion region is identified based on the persistent link interference pattern. In some cases, the new motion region may be identified by Figure 6 The process 600 shown may be used to identify new motion regions, or other types of processes may be used. For example, new motion regions may be detected based on simultaneous interference of multiple links in a wireless communication network. In various embodiments, new motion regions may be, for example, Figure 5A The first region 502 or the second region 504 illustrated in FIG.
[0121] At 740, the new motion zone is presented to the user in a graphical format. In various embodiments, the new motion zone is illustrated relative to the location of the wireless communication device in space. For example, the new motion zone can be presented in a graphical representation of a spatial arrangement (or spatial map) of wireless communication devices, and the graphical representation can be displayed on a display device. The spatial arrangement can be generated based on the spatial coordinates. In various embodiments, the user is queried whether the user prefers that the new motion zone be represented as a different motion zone in the motion detection system.
[0122] At 750, the system receives user input in response to the presentation and query of the new motion zone. In various embodiments, the user may indicate that the user desires the new motion zone to be represented independently, or that the user prefers that the new motion zone be merged with existing motion zones associated with the wireless communication device. In some cases, the user may provide a name, label, or other information describing the new motion zone.
[0123] At 760, the system is updated based on the user's response to the query. For example, the user input may include a name or label for the new motion zone, and the motion detection system may be modified at 760 to associate the new name or label with the corresponding new motion zone. As another example, the motion detection system may be modified to specify an action to be performed when the system detects motion. For example, the motion detection system may be programmed to send instructions, commands, or notifications to a specific device when motion is detected in one or more new motion zones.
[0124] In various embodiments, at 760, a user device may be notified according to a setting (or a modified setting), or an Internet of Things (IoT) device may be instructed. For example, in response to identifying one of the wireless communication devices in the selected wireless communication device group as a location of motion, a message indicating that motion is detected in a first motion zone may be generated. After the message is generated, the message may be sent to a device associated with a motion detection system, such as an IoT device, etc. As another example, in response to identifying one of the wireless communication devices in the selected wireless communication device group as a location of motion, an instruction may be sent to a device associated with a motion detection system to change the state of the device. In some instances, the state may be a power state, such as an on-off state, etc.
[0125] Fig. 8A8 is a flow chart of an example process 800 for determining a location of motion detected by one or more wireless links in a wireless communication network. The one or more wireless links may be wireless nodes (such as FIG. 4A to FIG. 4B The wireless communication network may include a data processing device (e.g., one or more of the wireless nodes may be used as a data processing device). Alternatively, the data processing device may be communicatively coupled to the wireless communication network via a data connection (e.g., a wireless connection, a copper wire connection, an optical fiber connection, etc.). The data processing device may receive a data structure associated with a time frame (as shown by line 802). The data structure 802 may draw multiple wireless links with corresponding motion indication values for the time frame. Multiple wireless links may be represented by unique link identifiers in the data structure 802. However, other representations are also possible. For example, multiple wireless links may be represented by corresponding unique node identifier pairs. In some instances, the data structure 802 may associate each unique link identifier with a corresponding unique node identifier pair.
[0126] The data processing device executes program instructions to change one or more magnitudes of a set of motion indication values so that each motion indication value is referenced to a common scale of wireless link sensitivity. More specifically, the data processing device may function in part as a link strength estimator (such as shown in block 812, etc.) and a link equalizer (such as shown in block 814, etc.). The link strength estimator 812 and the link equalizer 814 receive identifications of wireless links present in the wireless communication network during a time frame and their corresponding motion indication values. The link equalizer 814 also receives equalization values for each identified wireless link from the link strength estimator 812. The link strength estimator 812 and the link equalizer 814 operate in cooperation so that the motion indication values for each identified wireless link are referenced to a common scale of wireless link sensitivity.
[0127] In operation, the link strength estimator 812 estimates the link strength of the identified wireless links by determining the statistical properties of the corresponding motion indication values of the identified wireless links. The statistical properties may be the maximum motion indication value, the deviation of the motion indication value from the average value, or the standard deviation. Other statistical properties are also possible. In some instances, the link strength estimator 812 tracks the statistical properties of one or more corresponding motion indication values over continuous time frames. The statistical properties may allow the link strength estimator 812 to measure the excitation strength and the corresponding dynamic range of the wireless link. Such a determination may take into account the unique sensitivity of each identified wireless link. The link strength estimator 812 passes the determined statistical values to the link equalizer 814, which in turn uses these statistical values as equalization values for the corresponding motion indication values. In particular, the link equalizer 814 divides the motion indication values of each identified wireless link by their corresponding equalization values (or statistical properties) to generate a standardized motion indication value. In this way, the link equalizer 814 "equalizes" the identified wireless links so that the corresponding responses of the wireless links to motion or other events can be compared independently of the sensitivity.
[0128] For example, due to motion or other events, a first subset of wireless links may become strongly excited and exhibit a corresponding high dynamic range (or sensitivity). A second subset of wireless links may become weakly excited and exhibit a corresponding low dynamic range (or sensitivity) due to the same motion or event. Such excitation and corresponding dynamic range are reflected in the motion indication values received by the link strength estimator 812 and the link equalizer 814. However, the link strength estimator 812 and the link equalizer 814 cooperate to operate to normalize the received motion indication values to a common scale of wireless link sensitivity. This standardization ensures that the comparison of the first wireless link set and the second wireless link set within multiple wireless links does not make the weight of the first wireless link set too large relative to the second wireless link set. Other benefits of standardization are also possible.
[0129] The program instructions may also cause the data processing device to identify a subset of wireless links based on the magnitude of the associated motion indication values of the wireless links relative to other motion indication values in the set of motion indication values. In particular, the data processing device may receive the identified wireless links and their corresponding normalized motion indication values from the link equalizer 814 and store the data in a memory associated with a likelihood calculator (such as shown in block 816). As part of this operation, the data processing device may also receive a list of unique wireless nodes and store the list in a memory associated with the likelihood calculator 816. The data processing device may function in part as the likelihood calculator 816.
[0130] The likelihood calculator 816 identifies the wireless link subset based on the size of the corresponding standardized motion indication value of the wireless link relative to other standardized motion indication values. To this end, the likelihood calculator 816 can sort or filter the standardized motion indication values received from the link equalizer 814 to identify the wireless link subset. For example, the likelihood calculator 816 can sort the data structure according to size to determine the highest standardized motion indication value, thereby generating a wireless link subset with a single wireless link. In another example, the likelihood calculator 816 can sort the data structure according to size to determine the three highest standardized motion indication values, thereby generating a wireless link subset with three wireless links. Other numbers of wireless links are also possible for the wireless link subset.
[0131] The likelihood calculator 816 also generates a count value of the wireless nodes connected to the wireless communication network during the time frame. The count value of each wireless node indicates how many wireless links in the wireless link subset are defined by the wireless node. For example, and with reference to Figure 3A , the likelihood calculator 816 may identify the subset of wireless links based on the three highest normalized motion indication values:
[0132]
[0133] The unique link identifiers 3, 4 and 5 correspond to the wireless nodes N0, N1 and N2 as shown below:
[0134]
[0135] Here, the wireless node N0 assists in defining one wireless link in the wireless link subset, i.e., N2→N0. Similarly, the wireless node N1 assists in defining two wireless links in the wireless link subset, i.e., N1→N2 and N2→N1, and the wireless node N2 assists in defining three wireless links in the wireless link subset, i.e., N1→N2, N2→N0, and N2→N1. Therefore, the likelihood calculator 816 generates count values 1, 2, and 3 for the corresponding wireless nodes N0, N1, and N2. In this example, all wireless nodes of the wireless communication network assist in defining the wireless links in the wireless link subset. However, for wireless nodes that do not assist in defining the wireless links in the wireless link subset, the likelihood calculator 816 may generate a count value of zero. In some instances, the likelihood calculator 816 generates a count value data structure that associates each wireless node connected to the wireless communication network during a time frame with its corresponding count value. For this example, the likelihood calculator 816 may generate the following count value data structure:
[0136]
[0137] Although the wireless nodes in the count value data structure are marked by N i (where i represents the number of the wireless node), but other representations are also possible (e.g., partial MAC address pairs).
[0138] The likelihood calculator 816 further generates a probability vector based on the count values, which include a value for each wireless node connected to the wireless communication network during the time frame. The value for each connected wireless node represents the probability of motion at the connected wireless node during the time frame. In particular, the values can represent the probability that motion at (or near) the corresponding wireless node induces link activity along a particular wireless link. In some instances, the values sum to unity. In these instances, the values can be probability values. For example, Fig. 8A As shown, likelihood calculator 816 passes the generated probability vector to Bayesian update engine 828.
[0139] In some instances, the value for each connected wireless node is a likelihood value assigned from a link likelihood graph. The likelihood values do not necessarily sum to 1. The link likelihood graph associates likelihood values with corresponding count values. The likelihood values and their associations may be predetermined and may be further stored in a memory of the likelihood calculator 816 (or a data processing device). For example, if a wireless node is strongly represented in a wireless link subset, the motion detected by the wireless communication network will have a relatively high probability of being located at or near the wireless node. Thus, the link likelihood graph may associate high likelihood values proportionally with high count values. However, other associations of likelihood values and count values are also possible.
[0140] In some variations, the probability vector is composed of the probability vector P(L j |N i ) indicates that the probability vector P(L j |N i ) includes probability values based on the link likelihood graph. The probability values correspond to the probability of i Wireless link L in the case of motion j The probability of showing link activity. For example, and refer to Figure 3A , the likelihood calculator 816 may generate a probability distribution including only the wireless link L 02 A subset of wireless links, the wireless link L 02 has a unique link identifier "1". j |N i )=P(1|N i)={P(1|0),P(1|1),P(1|2)}. Here, P(1|0) corresponds to the probability that motion at wireless node 0 induces link activity along wireless link 1, P(1|1) corresponds to the probability that motion at wireless node 1 induces link activity along wireless link 1, and P(1|2) corresponds to the probability that motion at wireless node 2 induces link activity along wireless link 1. These probability values can be generated based on the likelihood values of the link likelihood graph. For example, the likelihood calculator 816 can assign a likelihood value to each of wireless nodes 0, 1, and 2 based on the corresponding count value. Then, the likelihood calculator 816 can normalize the assigned likelihood values to 1, thereby generating corresponding probability values for each wireless node.
[0141] Still reference Fig. 8A , in the case where the user actively wants the new zone to appear in, for example, a mobile app as a separate notification (for example, when he walks into the corridor, he wants the corridor lights to be turned on), the system establishes a different positioning for the new motion zone. The new motion zone is added to the probabilistic inference stack. In earlier probabilistic inference stacks, all nodes used for motion positioning corresponded to physical devices located in a space such as, for example, space 400 (for example, N1, N2, N3, etc. correspond to devices D1, D2, D3). In this case, a node is added to the inference stack that has no corresponding device associated with it. By way of example, the likelihood calculator 816 passes a probability vector containing the prior probabilities of motion at nodes N1, N2, N3, N4, N5, N6, N7, and N8 to the Bayesian update 828. By way of example, nodes N7 and N8 do not have Figure 5A and Figure 5C , so these nodes do not correspond to physical devices. Once nodes N7 and N8 are instantiated in the probability table, the inference stack treats them as nodes associated with wireless communication devices. Whenever a link pattern corresponding to these nodes occurs, the system assigns a high likelihood of motion to N7 or N8 (depending on which links are interfered with). For example, if the L1 and L3 links are interfered, then Figure 5A Motion may be occurring in the first region 502 of the image, and if the node corresponding to the first region 502 is called N8 by the user, the highest likelihood of motion is assigned to N8. This likelihood is then combined with the Bayesian prior probability to calculate the final motion probability at all nodes.
[0142] Still reference Fig. 8A, the data processing device also executes program instructions to pass a list of unique wireless nodes present in the wireless communication network during the time frame to the probability mapper / redistributor. The data processing device may function in part as a probability mapper / redistributor such as shown in block 818. As part of this operation, the data processing device may receive a probability vector generated prior to the time frame, such as a prior probability vector. The probability mapper / redistributor 818 may be operable to determine a change in wireless connectivity between time frames (such as between a previous time frame and a subsequent time frame). The change in wireless connectivity may include one or both of the following: [1] wireless nodes that have been connected to the wireless communication network between the previous time frame and the subsequent time frame; and [2] wireless nodes that have been disconnected from the wireless communication network between the previous time frame and the subsequent time frame. In order to determine the change in wireless connectivity, the probability mapper / redistributor 818 may compare the list of unique wireless nodes in the time frame with the wireless nodes represented in the probability vector generated prior to the time frame.
[0143] The probability mapper / redistributor 818 can also be operated to generate the initialization probability vector in a plurality of initialization probability vectors 820 by changing the value of the prior probability vector based on the change of wireless connectivity. For example, the change of wireless connectivity can include the wireless node that has been disconnected from the wireless communication network between the previous time frame and the subsequent time frame. In this case, the probability mapper / redistributor 818 can generate the initialization probability vector by assigning the value of the prior probability vector associated with the disconnected wireless node to the value of the wireless node that has remained connected to the wireless communication network. This allocation can occur at a ratio defined by the value of the remaining wireless node. However, other allocation schedules are also possible. In another example, the change of wireless connectivity can include the wireless node that has been connected to the wireless communication network between the previous time frame and the subsequent time frame. In this case, the probability mapper / redistributor 818 generates the initialization probability vector by adding the value to the prior probability vector for the wireless node of the new connection.
[0144] The probability mapper / redistributor 818 is operable to generate other types of initialization probability vectors corresponding to the reset state. For example, if the wireless communication network (or motion detection system) is cold started, the probability mapper / redistributor 818 can generate the initialization probability vector by assigning equal probability values to all unique wireless nodes. In another example, if the wireless communication network (or motion detection system) is hot started, the probability mapper / redistributor 818 can generate the initialization probability vector based on the probability value corresponding to the time frame when the motion is last detected. In another example, if the wireless communication network (or motion detection system) is operable but reset later, the probability mapper / redistributor 818 can use the prior probability vector as the initialization probability vector. In another example, if the user (e.g., through a mobile software application) notifies the wireless communication network (or motion detection system) that he / she is leaving the monitored residence, the probability mapper / redistributor 818 can generate the initialization probability vector, which has the probability value of the wireless node at the entry point (e.g., the front door).
[0145] The probability mapper / redistributor 818 passes the plurality of initialization probability vectors 820 to a multiplexer (or mux), which also receives the prior probability vector from the motion model. The data processing device may function in part as a multiplexer such as shown in block 822. The multiplexer 822 may be operable to select one of the plurality of initialization probability vectors or the prior probability vector based on a set of motion indication values, a configuration of the wireless communication network, or both. Then, as shown in FIG. Fig. 8A As shown, the selected probability vector is passed to the Bayesian update engine 828. To determine which probability vector to select, the multiplexer 822 receives a control input from the motion persistence calculator as shown in box 824. The motion persistence calculator 824 receives the data structure 802 including the set of motion indication values, and also receives the configuration 826 of the wireless communication network. Based on these inputs, the motion persistence calculator 824 generates a control signal, which, when received by the multiplexer 822, is used to select which of the multiple initialization probability vectors or the prior probability vectors is passed to the Bayesian update engine 828. If the wireless communication network (or motion detection system) continuously detects motion, the motion persistence calculator 824 can keep passing the prior probability vector through the multiplexer 822. In contrast, if motion is detected after a period of absence, the motion persistence calculator 824 can pass the initialization probability vector corresponding to the reset state through the multiplexer 822. The data processing device can also be partially used as the motion persistence calculator 824.
[0146] In some implementations, the data processing device uses the selected probability vector and the set of motion indication values associated with the subsequent second time frame to identify a location associated with motion occurring during the subsequent time frame. In particular, the data processing device executes program instructions to generate a third probability vector including third values for each wireless node based on the first probability vector received from the likelihood calculator 816 and the second probability vector received from the multiplexer 822. In particular, as shown in block 828, the Bayesian update engine generates the third probability vector. The third value of the third probability vector represents the probability of motion at the corresponding wireless node during the time frame.
[0147] In some variations, the second probability vector is composed of the probability vector P(N i ) indicates that the probability vector P(N i ) includes a wireless node N i The probability value (or second value) of the probability of motion at the wireless node N i The probability of motion at i ) is independent of any wireless link L j of link activity and can also be independent of other factors. Figure 3A , the program instructions can cause the data processing device to i )={P(0),P(1),P(2)}Define P(N i ). Here, P(N i ) has probability values of P(0), P(1), and P(2), which correspond to the probabilities of motion at (or near) wireless nodes 0, 1, and 2, respectively.
[0148] In some variations, the third probability vector is composed of P(N i |L j ) indicates that N i corresponds to a unique node identifier, and L j Corresponding to the unique link identifier. The third probability vector P(N i |L j ) includes a third value, which represents the value of the wireless link L along the given j The link activity of wireless node N i For example, if L j Corresponds to Figure 3A If the wireless link 1 in the wireless communication network 300 is 1, the corresponding third value can be represented by P(0|1), P(1|1) and P(2|1), where P(N i|1)={P(0|1),P(1|1),P(2|1)}. Here, P(0|1) corresponds to the probability that the link activity along wireless link 1 is caused by motion at wireless node 0, P(1|1) corresponds to the probability that the link activity along wireless link 1 is caused by motion at wireless node 1, and P(2|1) corresponds to the probability that the link activity along wireless link 1 is caused by motion at wireless node 2.
[0149] The third probability vector P(N i |L j ) can be determined by the Bayesian update engine 828 according to equation (1):
[0150]
[0151] Where P(L j |N i ) and P(N i ) as described above for the first probability vector from likelihood calculator 816 and the second probability vector from multiplexer 822, respectively. Equation (1) may allow wireless communication network 300 (or a data processing device) to determine the location of the detected motion using Bayesian statistics. For example, if Figure 3A In the wireless communication network 300, the wireless link subset includes only the wireless link 1 and based on the link likelihood graph P(1|N i )={1,0.2,0.9}, the program instructions can cause the data processing device to calculate the third probability vector P(N i |1):
[0152]
[0153] The result of this calculation is P(N i |1)={0.476,0.095,0.429}, where the sum of the third values is 1, that is, 0.476+0.095+0.429=1. i |1) can therefore represent a probability distribution normalized to 1. i |1), P(0|1) corresponds to the maximum value among the third values, which indicates that the probability that the motion detected by the wireless communication network 300 along the wireless link 1 is located at the wireless node 0 (or close to the wireless node 0) is the highest. Based on this value of P(0|1), the program instructions can cause the data processing device to look up the MAC address value of the wireless node 0, and when found, output the result (for example, output 7f4440).
[0154] In some implementations, the data processing device performs iterative processing for sequential time frames. For example, the data processing device may repeat the following operations in multiple iterations for corresponding time frames: obtain a set of motion indication values associated with a subsequent time frame, identify a subset of wireless links based on the size of the associated motion indication values of the wireless links relative to other motion indication values in the set of motion indication values, generate a count value for wireless nodes connected to the wireless communication network during the subsequent time frame, and generate a first probability vector based on the count value and including values for the connected wireless nodes. In some implementations, the repeated operations include: obtain a set of motion indication values associated with a previous time frame, generate a priori probability vector associated with the previous time frame, and generate a second probability vector by selecting one of a plurality of initialization probability vectors or the priori probability vector to identify a location associated with motion occurring during the subsequent time frame.
[0155] In some implementations, the repeated operations may include: generating a third probability vector based on the first value of the first probability vector and the second value of the second probability vector; identifying the wireless communication device associated with the highest value of the third values; and identifying, through operation of the data processing device, the location associated with the identified wireless communication device as the location of the movement detected from the wireless signals exchanged during the subsequent time frame.
[0156] The output of the Bayesian update engine 828 may be fed into the motion model to generate a priori probability vector (or a second probability vector), which is passed to the probability mapper / redistributor 818 and the multiplexer 822. The data processing device may be used in part as a motion model as shown in block 830. The motion model 830 may operate similarly to computing probabilities on a trellis.
[0157] Figure 8B is a block diagram illustrating the interaction of a user with a motion detection system. When the user has indicated that he does not want new motion zones to be displayed in separate notifications, such functionality is enabled using a configuration object. In various embodiments, the configuration object may, for example, accept a user selection and understand that the user wants, for example, N8 and N2 to be considered the same zone. Thus, if motion is localized to N2 or N8, the user still gets a notification for N2. Additionally, any IoT trigger assigned to N2 will be enabled. Figure 8B Illustrated is a positioning stack 852 running on a router 854 that generates predictions of position fixes 856 and sends them to a user device 858. In various embodiments, the user device may be, for example, a smartphone, tablet, cellular device, computer, or any other user device capable of receiving wireless signals. Figure 8BFurther illustrating the configuration object 860 taking into account the user preference 862. In various embodiments, the user preference 862 can be, for example, whether the user wants to fuse the two new motion areas or keep the two new motion areas separate. The positioning data 856 is then used together with the user preference 862 to control any IoT device that the user has configured with a positioning-enabled IoT application.
[0158] Figure 8C It means that you can Figure 8B The signal transmission and flow diagram of the example operations performed in the system 870 shown in FIG. Figure 8C As shown, wireless network 872 sends wireless sensing data to motion sensing system 874. Motion sensing system 874 can then infer the location of the new motion zone in wireless network 872 based on the motion sensing data (e.g., as described above with respect to Figure 4A , Figure 4B , FIG. 5A to FIG. 5C or otherwise described). The inferred location information is then sent to a user device 876, which displays a graphical representation of the spatial arrangement of the new motion zones to the user. The user device 876 then obtains user input in response to the graphical representation. The user input includes a selection of whether the user desires to consider the new motion zones separately or to integrate the new motion zones with existing motion zones (e.g., as described with respect to FIG. 1 ). Figure 6 As described). If the user selects that the new motion zone should be considered separately, the user can provide a name for the new motion zone (e.g., "corridor"). The user device 876 then sends information to the motion sensing system 874 based on the user input, and the motion sensing system 874 defines (or updates) the motion zone based on the information from the user device 876. Subsequently, the wireless network 872 sends wireless sensing data to the motion sensing system 874, and the motion sensing system 874 detects the motion of the object based on the wireless sensing data. The motion sensing system 874 can then send a message to the user device 876, to the wireless network 872, to other systems or devices, or to multiple systems or devices. For example, the message can notify the user device 876 that motion is detected in the motion zone, and the notification can include a name provided by the user (e.g., "corridor"). As another example, the message can include instructions or commands for smart devices in the wireless network 872. For example, the instruction can modify light settings, temperature settings, activate or deactivate a device, or perform other actions.
[0159] Fig. 9 is a block diagram illustrating an example wireless communication device 900. Fig. 9 As shown, the example wireless communication device 900 includes an interface 930, a processor 910, a memory 920, and a power supply unit 940. A wireless communication device (e.g., Figure 1Any of the wireless communication devices 102A, 102B, 102C in the wireless communication device 900 may include additional or different components, and the wireless communication device 900 may be configured to operate as described for the above examples. In some implementations, the interface 930, processor 910, memory 920, and power supply unit 940 of the wireless communication device are housed together in a common housing or other assembly. In some implementations, one or more of the components of the wireless communication device may be separately housed, for example, in a separate housing or other assembly.
[0160] The example interface 930 can communicate (receive, transmit or both) wireless signals. For example, the interface 930 can be configured to communicate radio frequency (RF) signals formatted according to wireless communication standards (e.g., Wi-Fi, 4G, 5G, Bluetooth, etc.). In some implementations, the example interface 930 includes a radio subsystem and a baseband subsystem. The radio subsystem may, for example, include one or more antennas and radio frequency circuits. The radio subsystem may be configured to communicate radio frequency wireless signals on a wireless communication channel. As an example, the radio subsystem may include a radio chip, an RF front end, and one or more antennas. The baseband subsystem may, for example, include a digital electronic device configured to process digital baseband data. In some cases, the baseband subsystem may include a digital signal processor (DSP) device or other types of processor devices. In some cases, the baseband system includes digital processing logic to operate the radio subsystem, communicate wireless network traffic through the radio subsystem, or perform other types of processing.
[0161] The example processor 910 may execute instructions to generate output data, for example, based on data input. The instructions may include programs, codes, scripts, modules, or other types of data stored in the memory 920. Additionally or alternatively, the instructions may be encoded as preprogrammed or reprogrammable logic circuits, logic gates, or other types of hardware or firmware components or modules. The processor 910 may be or include a general-purpose microprocessor as a dedicated coprocessor or other type of data processing device. In some cases, the processor 910 performs high-level operations of the wireless communication device 900. For example, the processor 910 may be configured to execute or interpret software, scripts, programs, functions, executable files, or other instructions stored in the memory 920. In some implementations, the processor 910 may be included in an interface 930 or other component of the wireless communication device 900.
[0162] Example memory 920 may include computer-readable storage media, such as volatile memory devices, non-volatile memory devices, or both. Memory 920 may include one or more read-only memory devices, random access memory devices, buffer memory devices, or a combination of these and other types of memory devices. In some instances, one or more components of the memory may be integrated or otherwise associated with other components of wireless communication device 900. Memory 920 may store instructions executable by processor 910. For example, the instructions may include instructions for performing Figure 7 The illustrated example process 700 may include one or more instructions for performing the operations in the example process 700 .
[0163] The example power supply unit 940 provides power to other components of the wireless communication device 900. For example, the other components may operate based on the power provided by the power supply unit 940 through a voltage bus or other connection. In some implementations, the power supply unit 940 includes a battery or battery system, such as a rechargeable battery. In some implementations, the power supply unit 940 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 regulated for the components of the wireless communication device 900. The power supply unit 940 may include other components or operate in other ways.
[0164] Some of the themes and operations described in this specification can be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or one or more combinations of these structures. Some of the themes described in this specification can be implemented as one or more computer programs (i.e., one or more modules of computer program instructions), which are encoded on a computer storage medium for execution by a data processing device or for controlling the operation of a data processing device. A computer storage medium may be or may be included in the following: a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or one or more combinations thereof. In addition, although a computer storage medium is not a propagation signal, a computer storage medium may be a source or destination of a computer program instruction encoded in an artificially generated propagation signal. A computer storage medium may also be or be included in the following: one or more separate physical components or media (e.g., multiple CDs, disks or other storage devices).
[0165] Portions of the operations described in this specification may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
[0166] The term "data processing equipment" covers all kinds of equipment, devices and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip, or a plurality or combination of the foregoing. The equipment may include special-purpose logic circuits, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the equipment may also include code for creating an execution environment for the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or one or more combinations thereof.
[0167] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including a compiled or interpreted language, a declarative language, or a procedural language, and can be deployed in any form, including being deployed as a standalone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program can, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that is used to keep other programs or data (e.g., one or more scripts stored in a markup language document) in a single file dedicated to the program, or in multiple coordinated files (e.g., a file for storing a portion of one or more modules, subroutines, or code). A computer program can be deployed to execute on one computer, or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.
[0168] Some of the processes and logic flows described in this specification can be performed by executing one or more computer programs by one or more programmable processors to perform actions by operating on input data and generating output. These processes and logic flows can also be performed by special purpose logic circuits, and the device can also be implemented as special purpose logic circuits, such as FPGAs (field programmable gate arrays) or ASICs (application-specific integrated circuits).
[0169] To provide interaction with a user, operations may be implemented on a computer having a display device (e.g., a monitor or other type of display device) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse, trackball, tablet, touch-sensitive screen, or other type of pointing device) through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including sound, voice, or tactile input. In addition, a computer may interact with a user by sending and receiving documents relative to a device used by the user (e.g., by sending a web page to a web browser in response to a request received from a web browser on a client device of the user).
[0170] In a general aspect, the systems and techniques described herein allow for identification of motion zones based on user input and motion sensing data derived from wireless signals.
[0171] In a first example, a method includes identifying a plurality of motion zones in a motion detection system. Each of the plurality of motion zones represents a different area in a space associated with a wireless communication network. A subset of the motion zones is associated with at least a corresponding wireless communication device in the wireless communication network. The method also includes generating motion sensing data based on a first wireless signal transmitted between a pair of wireless communication devices in the wireless communication network during a first time period. The motion sensing data represents motion in the space. The method also includes identifying a new motion zone that is not associated with any of the wireless communication devices based on the motion sensing data, and receiving user input in response to a graphical representation of the new motion zone displayed on a display device. The method includes updating the motion detection system based on the user input.
[0172] Implementations of the first example may include one or more of the following features. For example, the graphical representation may indicate the locations of multiple motion zones relative to the new motion zone. In addition, implementations of the first example may include generating spatial coordinates for the corresponding wireless communication devices based on motion sensing data obtained by the motion detection system, the spatial coordinates for each wireless communication device indicating the location of the wireless communication device in space, and the graphical representation indicating the location of the wireless communication device relative to the new motion zone. Further, implementations of the first example may include adding the new motion zone to a dictionary of valid zones in the wireless communication network.
[0173] Implementations of the first example may include one or more of the following features. For example, detecting motion of an object in space. The detection of motion is based on a second wireless signal transmitted between one or more wireless communication device pairs during a second time period. Additionally, in response to identifying a new motion zone as a location of detected motion of the object, generating a message indicating that motion is detected in the new motion zone. The message is sent to a device associated with the motion detection system.
[0174] Implementations of the first example may include one or more of the following features. For example, a likelihood value for a wireless communication device pair is generated based on the first motion sensing data. The likelihood value for each wireless communication device pair represents the likelihood of sensing the motion at the wireless communication device pair sequentially in time. In addition, a distance value is generated for the corresponding wireless communication device pair. The distance value for each wireless communication device pair represents the distance between two wireless communication devices in the wireless communication device. In addition, a spatial coordinate is generated based on the distance value.
[0175] Implementations of the first example may include one or more of the following features. The user input indicates a name associated with the new motion zone. The name is associated with the new motion zone, and the message indicates the name associated with the new motion zone. Sending the message to a device associated with the motion detection system includes sending a notification to the user device.
[0176] Implementations of the first example may include one or more of the following features. Generate a likelihood value for the wireless communication device pair based on the first motion sensing data. The likelihood value for each wireless communication device pair represents the likelihood of sensing the motion at the wireless communication device pair sequentially in time. Generate a distance value for the corresponding wireless communication device pair based on the likelihood value. The distance value for each wireless communication device pair represents the distance between two wireless communication devices in the wireless communication device. Generate a spatial coordinate based on the distance value.
[0177] In a second example, a system includes a plurality of wireless communication devices and a computer device configured to perform one or more operations of the first example.
[0178] In a third example, a non-transitory computer-readable medium stores instructions that, when executed by a data processing device, are operable to perform one or more operations of the first example.
[0179] Although this specification contains many details, these details should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features specific to particular examples. Certain features described in this specification or shown in the drawings in the context of separate implementations may also be combined. Conversely, various features described or shown in the context of a single implementation may also be implemented in multiple embodiments separately or in any suitable subcombination.
[0180] Similarly, although these operations are depicted in the accompanying drawings in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in sequence, or performing all of the operations shown, in order to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of various system components in the implementation described above should not be understood as requiring these separations in all implementations, and it should be understood that the program components and systems described can generally be integrated into a single product or packaged into multiple products.
[0181] A number of embodiments have been described. However, it should be understood that various modifications can be made. Therefore, other embodiments are within the scope of the following claims.
Claims
1. A method comprising: identifying, in a motion detection system, a plurality of motion zones, each of the plurality of motion zones representing a different region in space associated with a wireless communication network, a subset of the motion zones being associated with at least a respective wireless communication device in the wireless communication network; obtaining motion sensing data based on a first wireless signal transmitted between a pair of wireless communication devices in the wireless communication network during a first time period, the motion sensing data representing motion in the space; identifying, based on the motion sensing data, a new motion region not associated with any of the wireless communication devices; receiving user input in response to displaying the graphical representation of the new motion zone on the display device; as well as The motion detection system is updated based on the user input.
2. The method according to claim 1, wherein: Identifying the new motion area includes: classifying a subset of the motion sensing data; applying a statistical significance test to the first subset of the motion sensing data based on the classification of the first subset of the motion sensing data; and In response to determining that the first subset of the motion sensing data is statistically significant, a new motion region corresponding to the first subset of the motion sensing data is defined.
3. The method according to claim 1 or 2, wherein: The wireless communication network includes a plurality of wireless links, and subsets of the motion sensing data correspond to respective subsets of the wireless links.
4. The method according to claim 3, wherein: Classifying the subsets of the motion sensing data includes classifying each subset of the motion sensing data into one of the following ways: corresponds to one of the motion zones associated with the corresponding wireless communication device, and does not correspond to one of the motion zones associated with the corresponding wireless communication device; A first subset of the motion sensing data is classified as not corresponding to one of the motion zones associated with the respective wireless communication device; as well as The method includes applying a statistical significance test to respective subsets of motion sensing data classified as not corresponding to one of the motion regions associated with the respective wireless communication device.
5. The method according to claim 1 or 2, wherein: The graphical representation indicates the locations of the plurality of motion zones relative to the new motion zone.
6. The method according to claim 1 or 2, comprising: Based on the motion sensing data obtained by the motion detection system, spatial coordinates for the corresponding wireless communication devices are generated, the spatial coordinates for each wireless communication device representing the location of the wireless communication device in the space, and the graphical representation indicates the location of the wireless communication device relative to the new motion area.
7. The method according to claim 6, wherein: Generating the spatial coordinates includes: generating likelihood values for pairs of wireless communication devices based on the motion sensing data, the likelihood values for respective pairs of wireless communication devices representing likelihood of motion being sensed sequentially in time at the pair of wireless communication devices; generating distance values for corresponding pairs of wireless communication devices based on the likelihood values, the distance values for respective pairs of wireless communication devices representing the distance between two of the wireless communication devices; and The spatial coordinates are generated based on the distance value.
8. The method according to claim 1 or 2, wherein: Updating the motion detection system includes adding the new motion region to a dictionary of valid regions in the motion detection system.
9. The method according to claim 8, wherein: The user input indicates a name associated with the new sport zone; defining the motion zone includes associating the name with the new motion zone; The message indicates a name associated with the new sports zone; and Sending the message to a device associated with the motion detection system includes sending a notification to a user device.
10. The method according to claim 1 or 2, further comprising: detecting, by operation of the motion detection system, motion of an object in the space based on a second wireless signal transmitted between one or more pairs of wireless communication devices during a second time period; responsive to identifying the new motion region as the location of the detected motion of the object, generating a message indicating that motion was detected in the new motion region; as well as The message is sent to a device associated with the motion detection system.
11. A system comprising one or more processors operable to perform operations comprising: identifying, in a motion detection system, a plurality of motion zones, each of the plurality of motion zones representing a different region in space associated with a wireless communication network, a subset of the motion zones being associated with at least a respective wireless communication device in the wireless communication network; obtaining motion sensing data based on a first wireless signal transmitted between a pair of wireless communication devices in the wireless communication network during a first time period, the motion sensing data representing motion in the space; identifying, based on the motion sensing data, a new motion region not associated with any of the wireless communication devices; receiving user input in response to displaying the graphical representation of the new motion zone on the display device; as well as The motion detection system is updated based on the user input.
12. The system according to claim 11, wherein: Identifying the new motion area includes: classifying a subset of the motion sensing data; applying a statistical significance test to the first subset of the motion sensing data based on the classification of the first subset of the motion sensing data; and In response to determining that the first subset of the motion sensing data is statistically significant, a new motion region corresponding to the first subset of the motion sensing data is defined.
13. The system according to claim 11 or 12, wherein: The wireless communication network includes a plurality of wireless links, and subsets of the motion sensing data correspond to respective subsets of the wireless links.
14. The system according to claim 13, wherein: Classifying the subsets of the motion sensing data includes classifying each subset of the motion sensing data into one of the following ways: corresponds to one of the motion zones associated with the corresponding wireless communication device, and does not correspond to one of the motion zones associated with the corresponding wireless communication device; A first subset of the motion sensing data is classified as not corresponding to one of the motion zones associated with the respective wireless communication device; as well as The operations include applying a statistical significance test to respective subsets of motion sensing data classified as not corresponding to one of the motion regions associated with the respective wireless communication device.
15. The system according to claim 11 or 12, wherein: The graphical representation indicates the locations of the plurality of motion zones relative to the new motion zone.
16. The system according to claim 11 or 12, comprising: Based on the motion sensing data obtained by the motion detection system, spatial coordinates for the corresponding wireless communication devices are generated, the spatial coordinates for each wireless communication device representing the location of the wireless communication device in the space, and the graphical representation indicates the location of the wireless communication device relative to the new motion area.
17. The system of claim 16, wherein: Generating the spatial coordinates includes: generating likelihood values for pairs of wireless communication devices based on the motion sensing data, the likelihood values for respective pairs of wireless communication devices representing likelihood of motion being sensed sequentially in time at the pair of wireless communication devices; generating distance values for corresponding pairs of wireless communication devices based on the likelihood values, the distance values for respective pairs of wireless communication devices representing the distance between two of the wireless communication devices; and The spatial coordinates are generated based on the distance value.
18. The system according to claim 11 or 12, wherein: Updating the motion detection system includes adding the new motion region to a dictionary of valid regions in the motion detection system.
19. The system of claim 18, wherein: The user input indicates a name associated with the new sport zone; defining the motion zone includes associating the name with the new motion zone; The message indicates a name associated with the new sports zone; and Sending the message to a device associated with the motion detection system includes sending a notification to a user device.
20. The system according to claim 11 or 12, wherein: The operations include: detecting, by operation of the motion detection system, motion of an object in the space based on a second wireless signal transmitted between one or more pairs of wireless communication devices during a second time period; In response to identifying the new motion region as the location of the detected motion of the object, generating a message indicating that motion was detected in the new motion region; and The message is sent to a device associated with the motion detection system.
21. A non-transitory computer readable medium comprising instructions operable when executed by a data processing device to perform operations comprising: identifying, in a motion detection system, a plurality of motion zones, each of the plurality of motion zones representing a different region in space associated with a wireless communication network, a subset of the motion zones being associated with at least a respective wireless communication device in the wireless communication network; generating motion sensing data based on first wireless signals transmitted between a pair of wireless communication devices in the wireless communication network during a first time period, the motion sensing data representing motion in the space; identifying, based on the motion sensing data, a new motion region not associated with any of the wireless communication devices; receiving user input in response to displaying the graphical representation of the new motion zone on the display device; as well as The motion detection system is updated based on the user input.
Citation Information
Patent Citations
Motion detection based on groupings of statistical parameters of wireless signals
US10048350B1
Detecting motion based on decompositions of channel response variations
US10051414B1
Motion detection based on machine learning of wireless signal properties
US10108903B1
Motion localization in a wireless mesh network based on motion indicator values
US10109167B1
Motion localization based on channel response characteristics
US10109168B1