Identification of static leaf nodes in motion detection systems
A closed-loop system identifies and uses only stationary leaf nodes for improved data quality and system performance in motion detection systems by filtering out moving nodes, addressing inconsistencies in existing systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2019-08-21
- Publication Date
- 2026-03-18
AI Technical Summary
Motion detection systems face challenges in selecting the appropriate leaf nodes for channel information collection, leading to inconsistent data quality and system performance degradation due to the inclusion of both stationary and moving nodes, which can overwhelm resources and result in inaccurate motion sensing.
A closed-loop continuous link health measurement and classification system is implemented to identify and select only fixed or stationary leaf nodes based on link quality metrics, ensuring consistent and accurate motion detection by excluding moving nodes.
This approach improves the quality of motion sensing data and reduces system resource overload by selectively using stationary leaf nodes, enhancing the accuracy and efficiency of motion detection systems.
Smart Images

Figure 0007832796000001 
Figure 0007832796000002 
Figure 0007832796000003
Abstract
Description
Technical Field
[0001] Cross - reference to related applications This application claims priority to U.S. Patent Application No. 16 / 256,367, filed on January 24, 2019, which is incorporated herein by reference.
[0002] The following description relates to detecting the movement of an object in space based on wireless signals.
Background Art
[0003] Motion detection systems have been used to detect, for example, the movement of objects within indoor or outdoor areas. In some exemplary motion detection systems, infrared sensors or optical sensors are used to detect the movement of objects within the field of view of the sensors. Motion detection systems have been used in security systems, automatic control systems, and other types of systems.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In summary, motion detection systems can be configured to detect motion in space based on changes in radio signals transmitted through a communication channel between devices. In some cases, a motion detection device within a motion detection system can communicate via radio signals with one or more other devices, such as leaf nodes, which may or may not be part of the motion detection system, to obtain channel information that can later be used to perform motion sensing. In some cases, it may be beneficial for the motion detection system to select from which available devices the channel information to be used in the motion sensing application is collected. [Means for solving the problem]
[0006] Several aspects of this disclosure may provide certain technical advantages and improvements. In some cases, controlling which device from which channel information is obtained improves the quality of the data used in motion sensing applications, and therefore improves the motion sensing results. According to several aspects of this disclosure, in some cases, collecting channel information from a particular selected device can further improve the operation of a motion detection system, such as a monitoring and alarm system, in addition to other technical improvements thereto, enabling a more accurate and useful assessment of motion and a more precise determination of the status of a space. In some cases, the motion detection system uses existing characteristics of wireless communication devices and networks to determine which device to select.
[0007] In some embodiments of those described herein, the motion detection system can select which leaf node devices will be used to collect channel information. In some cases, the motion detection system selects only fixed or static leaf nodes. In some cases, fixed leaf node devices can be selected based on link quality compared to other fixed leaf node devices. In other embodiments, fixed leaf node devices are identified and / or selected during a calibration window. [Brief explanation of the drawing]
[0008] [Figure 1] This is a diagram illustrating an exemplary wireless communication system. [Figure 2] This figure shows an exemplary architecture of a motion detection system. [Figure 3] This figure shows an example of AP-leaf node link classification. [Figure 4] This figure shows an example of evaluating links across a calibration window. [Figure 5] This flowchart illustrates an exemplary process for classifying AP-leaf node links. [Figure 6] This block diagram shows an example of a closed-loop control flow for updating leaf nodes within a motion detection system. [Figure 7] This block shows an exemplary process for a leaf node disconnection event. [Figure 8] This block shows an exemplary process for leaf node connection events. [Figure 9] This is a block diagram illustrating an exemplary process for identifying stationary leaf nodes. [Figure 10] This block diagram shows an exemplary process for classifying the link quality of stationary leaf nodes. [Figure 11] This is a block diagram illustrating an exemplary wireless communication device. [Modes for carrying out the invention]
[0009] Figure 1 illustrates an exemplary wireless communication system 100. The exemplary wireless communication system 100 includes a first wireless communication device 102A, a second wireless communication device 102B, and a third wireless communication device 102C. The exemplary wireless communication system 100 may include further wireless communication devices 102 and / or other components (e.g., one or more network servers, network routers, network switches, cables, or other communication links).
[0010] The exemplary wireless communication devices 102A, 102B, and 102C can operate within a wireless network, for example, in accordance with a wireless network standard or another type of wireless communication protocol. For example, the wireless network can be configured to operate as a wireless local area network (WLAN), a personal area network (PAN), a metropolitan area network (MAN), or another type of wireless network. An example of a WLAN is configured to operate in accordance with one or more of the 802.11 standard series developed by the IEEE (e.g., Wi-Fi networks) and others. An example of a PAN includes networks operating in accordance with short-range communication standards (e.g., BLUETOOTH®, Near Field Communication (NFC), ZigBee), millimeter-wave communication, and others.
[0011] In some implementations, the wireless communication devices 102A, 102B, and 102C can be configured to communicate in accordance with cellular network standards, for example, within a cellular network. Examples of cellular networks include networks configured according to 2G standards such as the World System for Mobile Communications (GSM) and GMS Evolutionary High-Speed Data Rate (EDGE) or EGPRS, 3G standards such as Code Division Multiple Access (CDMA), Broadband Code Division Multiple Access (WCDMA), Universal Mobile Far Distance Communication 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 others. In the example shown in Figure 1, the wireless communication devices 102A, 102B, and 102C can be or include standard wireless network components. For example, the wireless communication devices 102A, 102B, and 102C can be commercially available Wi-Fi devices.
[0012] In some cases, the wireless communication devices 102A, 102B, and 102C may be Wi-Fi access points (APs) or other types of wireless access points (APs). The wireless communication devices 102A, 102B, and 102C may be configured to perform one or more of the operations described herein, which are embedded as instructions (e.g., software or firmware) on the wireless communication device. In some cases, the wireless communication devices 102A, 102B, and 102C may be nodes in a wireless mesh network. A wireless mesh network may mean a distributed wireless network having nodes (e.g., wireless communication device 102) that communicate directly point-to-point without using a central access point, base station, or network controller. A wireless mesh network may include mesh clients, mesh routers, or mesh gateways. A mesh network may be based on a commercially available mesh network system (e.g., Google Wi-Fi). In some cases, the wireless mesh network is based on the IEEE 802.11s standard. In some cases, the wireless mesh network is based on Wi-Fi ad hoc or another standardization technology. In some cases, the wireless communication device 102 may use a different type of standard or a conventional Wi-Fi transceiver device. The wireless communication devices 102A, 102B, and 102C can perform motion detection using various types of wireless protocols for wireless communication other than the Wi-Fi protocol, whether standard or non-standard.
[0013] In the example shown in Figure 1, wireless communication devices, e.g., 102A and 102B, transmit wireless signals over a communication channel (e.g., according to a wireless network standard, motion detection protocol, presence detection protocol, or other standard or non-standard protocol). For example, a wireless communication device may generate a motion detection signal for transmission to explore space and detect the movement or presence of an object. In some implementations, the motion detection signal may include a standard signal transmission frame or communication frame that includes a standard pilot signal used in channel sounding (e.g., channel sounding for beamforming according to the IEEE 802.11ac-2013 standard). In some cases, the motion detection signal includes a reference signal known to all devices in the network. In some implementations, one or more of the wireless communication devices may process a motion detection signal, which is a signal received based on a motion detection signal transmitted over space. For example, the motion detection signal can be analyzed to detect the movement of an object in space, the absence of movement in space, or the presence or absence of an object in space, based on changes (or absences thereof) detected within the communication channel.
[0014] Wireless communication devices, such as 102A and 102B, which transmit motion detection signals, can operate as source devices. In some cases, wireless communication devices 102A and 102B can broadcast wireless motion detection signals (e.g., as described above). In other cases, wireless communication devices 102A and 102B can send wireless signals to other wireless communication devices 102C and other devices (e.g., user equipment, client devices, servers, etc.). Wireless communication device 102C and other devices (not shown) can receive wireless signals transmitted by wireless communication devices 102A and 102B. In some cases, wireless signals transmitted by wireless communication devices 102A and 102B are repeated periodically, for example, according to wireless communication standards.
[0015] In some examples, a wireless communication device 102C operating as a sensor device processes wireless signals received from wireless communication devices 102A, 102B to detect the movement of an object in the space that these wireless signals access. In some examples, another device or computing system processes the wireless signals received by wireless communication device 102C from wireless communication devices 102A, 102B to detect the movement of an object in the space that these wireless signals access. In some cases, wireless communication device 102C (or another system or device) processes the wireless signals to detect the presence or absence of an object in the space when a lack of movement is detected. In some instances, wireless communication device 102C (or another system or device) can perform one or more operations described below with respect to any of FIGS. 3-8, or an exemplary process described with respect to FIGS. 9-10, or identify and select a fixed leaf node and update a motion detection system to use the selected fixed leaf node for motion detection in another type of process. In one example, wireless communication device 102C, such as an AP, transmits a wireless signal, such as a sounding signal, and wireless communication devices 102A, 102B, such as leaf nodes, receive and process these wireless signals and return channel response information to wireless communication device 102C.
[0016] Wireless signals used for motion detection can include, for example, beacon signals (e.g., Bluetooth beacons, Wi-Fi beacons, other wireless beacon signals), pilot signals (e.g., pilot signals used for channel sounding in beamforming applications according to the IEEE 802.11ac-2013 standard, etc.), or other standard signals generated for other purposes according to wireless network standards, or non-standard signals (e.g., random signals, reference signals, etc.) generated for motion detection or other purposes. In some cases, the wireless signals used for motion detection are known to all devices in the network.
[0017] In some examples, the wireless signal can propagate through an object (e.g., a wall) before or after interacting with a moving object, thereby enabling the detection of the movement of the moving object when there is no line of sight between the moving object and the transmitting hardware or receiving hardware. Conversely, the wireless signal can indicate the absence of an object in the space when a lack of movement is detected. For example, based on the received wireless signal, the wireless communication device 102C can generate movement data, presence data, or both. In some cases, the wireless communication device 102C can include a control center for monitoring movement within a space such as an indoor, indoor, outdoor area, etc.
[0018] In some implementations, the wireless communication devices 102A, 102B can be configured to transmit a motion detection signal (e.g., as described above) on a wireless communication channel (e.g., a frequency channel or a coding channel) separate from the wireless network traffic signal. For example, the wireless communication device 102C can understand the modulation applied to the payload of the motion detection signal or the type or data structure of the data within the payload, and this understanding can reduce the amount of processing that the wireless communication device 102C performs for motion detection and presence detection. This header can include additional information such as, for example, an indicator of whether another device within the communication system 100 has detected movement, an indicator of the modulation method, identification information of the device transmitting the signal, etc.
[0019] In some cases, the radio signal received by each wireless communication device 102 can be analyzed to determine channel information for various communication links within the network (e.g., between pairs of communication devices within the network). Channel information can represent the physical medium to which a transfer function is applied to a radio signal traveling through space. In some cases, channel information includes channel response information. Channel response information can represent the known channel characteristics of the communication link, describing how the radio signal propagates from the transmitter to the receiver and representing the combined effects of scattering, attenuation, and power decay in the space between the transmitter and receiver. In particular, a link can correspond to a receiving (Rx) / transmitting (Tx) antenna pair. Various configurations of Rx / Tx antennas can be accommodated. For example, a 3x3 configuration with three Rx antennas and three Tx antennas can observe a total of nine channel responses, a 3x2 configuration can observe six channel responses, a 2x2 configuration can observe four channel responses, and a 2x1 configuration can observe two channel responses. In some cases, a 4x4 or 8x8 configuration is possible, thus providing 16 or 24 channel responses, respectively.
[0020] In some cases, channel information includes beamforming state information. Beamforming (or spatial filtering) can refer to signal processing techniques for directional signal transmission or reception used in multi-antenna (multi-input multiple-output (MIMO)) wireless systems. Beamforming can be achieved by combining elements in an antenna array such that signals at a particular angle are subjected to constructive interference, while other signals are subjected to destructive interference. Beamforming can be used on both the transmitting and receiving sides to obtain spatial selectivity. In some cases (e.g., the IEEE 802.11ac standard), a beamforming steering matrix is used by the transmitter. The beamforming steering matrix can include a mathematical description of how the antenna array should use each of its individual antenna elements to select a spatial path toward transmission. While certain embodiments of channel response information or beamforming state information are described herein, other types of channel information may be used in several embodiments described herein.
[0021] In the example shown in Figure 1, the wireless communication system 100 is illustrated as a wireless mesh network having wireless communication links between each of the wireless communication devices 102. In the illustrated example, the wireless communication link between wireless communication device 102C and wireless communication device 102A can be used to explore a first motion detection area 110A, the wireless communication link between wireless communication device 102C and wireless communication device 102B can be used to explore a second motion detection area 110B, and the wireless communication link between wireless communication device 102A and wireless communication device 102B can be used to explore a third motion detection area 110C. In some cases, each wireless communication device 102 can be configured to detect motion within each of the motion detection areas 110 accessed by the device by processing a received signal based on a wireless signal transmitted over the link between the wireless communication devices 102 within the motion detection area 110. For example, when the object 106 shown in Figure 1 moves between the first motion detection area 110A and the third motion detection area 110C, the wireless communication device 102 can detect the movement based on the received signal based on the wireless signal transmitted through each motion detection area 110. For example, the wireless communication device 102A can detect the movement of a person in both the first motion detection area 110A and the third motion detection area 110C, the wireless communication device 102B can detect the movement of a person 106 in both the second motion detection area 110B and the third motion detection area 110C, and the wireless communication device 102C can detect the movement of a person 106 in both the first motion detection area 110A and the second motion detection area 110B.
[0022] In some cases, the motion detection area 110 may include, for example, air, a solid material, a liquid, or another medium through which radio electromagnetic signals can propagate. In the example shown in Figure 1, the first motion detection area 110A provides a radio communication channel between the first radio communication device 102A and the third radio communication device 102C, the second motion detection area 110B provides a radio communication channel between the second radio communication device 102B and the third radio communication device 102C, and the third motion detection area 110C provides a radio communication channel between the first radio communication device 102A and the second radio communication device 102B. In some aspects of operation, motion is detected using radio signals transmitted over a radio communication channel (separate from or shared with a radio communication channel directed to network traffic). The object may be a stationary or movable object of any kind, and may be living or inanimate. For example, an object can be a human being (as depicted in Figure 1, for example), an animal, an inorganic object, or another device, apparatus, or assembly, an object that defines all or part of a spatial boundary (e.g., a wall, door, window, etc.), or another type of object. In some implementations, motion information from a wireless communication device can trigger further analysis to determine the presence or absence of an object when no movement of the object is detected.
[0023] In some implementations, the wireless communication system 100 may be or may include a motion detection system. The motion detection system may include one or more of the wireless communication devices 102A, 102B, 102C and possibly other components. One or more of the wireless communication devices 102A, 102B, 102C within the motion detection system may be configured for motion detection. The motion detection system may include a database for storing signals. The stored signals may include respective measurements or metrics for each received signal (e.g., channel response information, beamforming state information, or other channel information) and may be associated with channel states, e.g., motion, lack of motion, etc. In some cases, one of the wireless communication devices 102 of the monitoring system may act as a central hub or server for processing received signals and other information for detecting motion. The wireless communication devices 102 or other similar wireless communication devices of the monitoring system may identify fixed or stationary leaf nodes that communicate with these wireless communication devices 102 or other similar wireless communication devices of the monitoring system. In some implementations, the wireless communication device 102 or other devices or computing systems of the motion detection system can classify and rank stationary or static leaf nodes that communicate with these wireless communication devices 102 or other similar wireless communication devices 102. The storage of data related to the process of identifying stationary leaf nodes within the monitoring system and / or classifying and selecting stationary leaf nodes for sounding can be performed on the wireless communication device 102 configured as an AP device (e.g., gateway device) within the motion detection system, on another type of computing device, or in some cases, in the cloud.
[0024] Figure 2 shows an exemplary architecture of an exemplary motion detection system 200. In some cases, devices within the motion detection system 200 communicate according to one or more aspects of the IEEE 802.11 wireless communication standard or other types of standard or non-standard protocols. In the example shown in Figure 2, the motion detection system 200 includes a wireless access point (AP) 202 (e.g., wireless communication device 102), one or more leaf devices 204 that can communicate with the AP 202, and in some cases includes further APs or leaf devices, or other types of devices such as servers. In some cases, the motion detection system includes multiple APs 202 (e.g., wireless communication device 102 as described in Figure 1) that communicate according to a wireless mesh protocol, with one or more leaf nodes 204 connected to each AP 202, as shown in Figure 2.
[0025] In some cases, each wireless device-to-device connection within the motion detection system 200 can constitute a motion link 250, which is the source for acquiring motion measurements. Hereinafter, the motion link between AP202 and leaf node 204 is referred to as the AP-leaf node link. Leaf node 204 can be a Wi-Fi device used for sounding by AP202 within the motion detection system 200. In some cases, leaf node 204 is not configured to use proprietary motion detection software or hardware and typically operates according to a specific wireless standard. For example, leaf node 204 may handle sounding requests from AP202 as part of its normal operation under its operating standard (e.g., leaf node 204 may operate as a smart phone, smart thermostat, laptop computer, tablet device, set-top box, or streaming device, etc.). In some cases, AP202 and leaf node 204 comply with standard (e.g., IEEE 802.11) protocols and therefore do not require dedicated motion detection hardware or software to fulfill their role as leaf nodes in the motion detection system 200. Generally, the motion detection system 200 can use any of the leaf nodes 204 shown in Figure 2 as a sounding response node to acquire channel information (e.g., channel response information, beamforming state information, etc.) for motion detection. In some cases, it is preferable that the leaf nodes 204 used for sounding by AP202 have certain characteristics, for example, that these leaf nodes 204 remain stationary for a long period of time and have a steady power supply, such as a plugged-in smartphone.
[0026] In one example, the motion detection system 200 implements, for example, a beamforming protocol for generating beamforming information and transmitting it from one wireless device to another. For example, the wireless communication device 202 can implement the beamforming protocol described above. In some cases, AP202 can detect the motion of object 230 based on analyzing a beamforming matrix (e.g., steering matrix or feedback matrix). In some examples, sounding and / or beamforming is performed on a motion link, for example, a motion link 250A between AP202 and leaf device 204A, and motion is detected in AP202 by observing changes in the beamforming matrix (e.g., steering matrix or feedback matrix) associated with the motion link. AP202 can also pinpoint the location of motion based on the changes in the respective beamforming matrix for each connection with leaf device 204. In a mesh configuration (for example, a motion detection system 202 in which multiple AP202s, not shown in Figure 2, are interconnected), sounding and beamforming are performed between the multiple AP202s and their respective leaf devices 204, and motion information is determined in each AP202. The motion information is then sent to another device such as a hub device (for example, one of the AP202s) or a server, where the motion information can be analyzed to make an overall determination of whether or not motion has occurred in space, to detect the location of the detected motion, or both.
[0027] In some implementations of the exemplary motion detection system 200 shown in Figure 2, the number of leaf nodes 204 communicating with AP202 is unknown or changes over time. In some cases, the number of leaf nodes 204 communicating with AP202 changes as a moving leaf node 204 moves in and / or out of communication with AP202. For example, a user carrying a mobile device, e.g., leaf node 204B, may enter a space, and the mobile device may begin communicating with AP202 performing motion sensing activity. However, in a mesh configuration in general, a leaf node can choose any of the mesh APs, and in addition, freely switch between these APs at any time, which affects the number of leaf nodes communicating with any particular AP202. While the mobile device is communicating with AP202, AP202 can collect information from the mobile device and / or perform sounding with the mobile device. Subsequently, the user may leave the space with the mobile device, and the mobile device moves out of range of AP202, but later re-enters AP202's range. In some situations, the data collected by AP202 from this mobile device may not be stable enough to be used to make decisions about motion.
[0028] In some cases, the use of leaf nodes within a motion detection system can affect system performance. For example, there may be limited resources available to perform sounding on motion links between devices, such as the motion link 250 between AP202 and leaf node 204, in order to collect channel information. In some cases, the usage of the central processing unit (CPU) and memory increases linearly with the number of active AP-leaf node links used for sounding within the motion detection system. In some cases, the motion detection system can communicate with stationary leaf nodes (with fixed locations) and moving leaf nodes (with variable locations), but it cannot distinguish between stationary and moving leaf nodes. In some cases, the location of the leaf nodes can affect the performance of the motion detection system. In some cases, the motion detection system observes that some leaf nodes only provide weak sounding responses during the sounding process, resulting in bad channel information being supplied to the motion detection system. In some cases, bad channel information received from weakly sounding-responding leaf nodes can lead to a degradation of the overall system quality. In some cases, a weak sounding response from a leaf node may be due to it being a moving leaf node rather than a stationary one. In other cases, the motion detection system may be overwhelmed by situations where a large number of leaf nodes appear all at once or within a short time interval, for example, during system initialization after a system reboot. In some cases, the user may be overwhelmed by multiple notifications from the system, for example, when the user is notified and asked to confirm that a leaf node has been added to the system.
[0029] As described herein, a closed-loop continuous link health measurement and classification system for AP-leaf node links is realized to address one or more of the above problems and to improve the operation of the motion detection system. In some cases, this system can be applied to AP-AP mesh links or other types of motion links within a motion detection system.
[0030] Figure 3 shows an example of AP-leaf node link classification. In one implementation, the exemplary link classification 300 classifies each AP-leaf node link within the motion detection system (e.g., motion detection system 200) as a fixed or stationary leaf node or a moving leaf node. In some cases, a leaf node (e.g., leaf node 204 as shown in Figure 2) is communicably coupled to one or more APs 202 of the motion detection system at various points in time. In some cases, the motion detection system periodically receives network status reports 310 from each AP 202 at predetermined time intervals, e.g., every minute, every two or three minutes, every hour, etc. The time interval for receiving network status reports can be adjusted. In a system with multiple APs 202, one of the APs 202 can act as a hub for collecting network status reports 310 from each of the other APs 1210. In some cases, the motion detection system may have only one AP 202, in which case it does not need to receive network status reports 310 from the other APs. The network status report 310 for each AP in the motion detection system includes statistics for each active AP-leaf node link during a given time interval.
[0031] In some implementations, active AP-leaf node links are identified based on the machine addresses of the basic radio interfaces to the AP and leaf nodes, such as the Media Access Control (MAC) addresses. A network status report 310 is provided for each AP-leaf node link. In some cases, an AP-leaf node link is determined to be active during a given time interval if the leaf node communicates wirelessly with the AP during that time interval. For example, if a leaf node responds to a beacon signal or other signal from the AP during sounding, the AP will mark this leaf node as active in the network status report 310 for that time interval. In some cases, status reports 310 from multiple time intervals are aggregated to derive statistics for each AP-leaf node link over a calibration period. In some implementations, for each active AP-leaf node link, various metrics in the status report are tracked and / or calculated over a calibration period, e.g., one hour. In the exemplary classification 300 shown in Figure 3, statistics received from 60 network status reports over a one-hour calibration period are aggregated. As shown in Figure 3, the metrics include an existence metric 325, a sounding success metric 326, a sounding failure metric 327, a mean received signal strength indicator (RSSI) metric 328, and a motion detection failure rate metric 329. In some implementations, other metrics can be used to classify links. In some cases, the existence metric 325 indicates the number of status reports 310 during the calibration period in which a particular AP-leaf node link was active. For example, during a one-hour calibration period in which status reports 310 were reported every minute, the existence metric 325 can have an integer value ranging from zero to 60 (0 to 60). In some implementations, for each AP-leaf node link, a sounding success metric 326 is calculated, indicating the mean successful channel frequency response (CFR) sounding rate (ranging from 0 to 100%), and a sounding failure metric 327 is calculated, indicating the mean failed CFR sounding rate (ranging from 0 to 100%).These statistics relate to the AP's attempts to sound the leaf nodes by sending sounding requests and whether the leaf nodes responded (e.g., successfully) or not (e.g., unsuccessfully). In some cases, the average RSSI metric328 and motion detection failure rate329 can be calculated and used to classify AP-leaf node links. In some cases, calibration results are calculated between each calibration period (e.g., as described in Figure 5 or separately), and each active AP-leaf node link is classified based on these calibration results330. For example, active AP-leaf node links can be classified as passing, high noise, or sleeping, as described below.
[0032] In the examples described herein, AP-leaf node links are represented by pairs of AP numbers and leaf numbers. In the examples described in Figures 3 and 4, the motion detection system includes three APs, AP0, AP1, and AP2, and two leaf nodes, Leaf0 and Leaf1, which communicate with one or more of these APs during calibration events. Thus, each AP reports up to two links, for example, AP0-Leaf0 and AP0-Leaf1. On the other hand, a leaf node can be associated with one, two, or all three APs, and therefore can be associated with three links, for example, AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0. Since actual AP-leaf node link pairs are identified by the MAC addresses described above, the use of AP and leaf node numbers in this case is for illustrative purposes only.
[0033] In some implementations, the presence information metric 325 is used to determine whether the first active leaf node is fixed (e.g., stationary) or mobile. During experiments in several exemplary systems, it was found that monitoring whether a leaf node jumps from one AP to another does not necessarily indicate whether the leaf node is fixed or mobile, and fixed leaves were observed to jump for various unclear reasons. Furthermore, in some situations, observing the received signal strength indicator (RSSI) measurement of a leaf node alone does not necessarily provide a reliable indicator of whether the leaf node was fixed or mobile.
[0034] Figure 4 shows an example of evaluating a link across a calibration window 410. The calibration window 410 includes multiple calibration periods 420. In this example, each row in Table 480 illustrates the calibration results 470 (e.g., as described in Figure 5 or obtained separately) for a particular AP-leaf node link 430 during each calibration period 420 within the calibration window 410. In the example shown in Figure 4, the activity of the AP-leaf node link during the calibration window 410 is represented in each row for that AP-leaf node link by either a highlighted calibration period 420 or a grayed-out calibration period 420. In particular, a grayed-out calibration period 420 within any calibration window 410 (e.g., no data 470a) indicates that, based on the presence information metric 325, a particular AP-leaf node link 430 was not detected as valid (or sufficiently valid) within that calibration period 420, while other highlighted calibration periods 420 (e.g., PASS 470b, NOISY 470c, and SLEEP 470d) indicate that, based on the presence information metric 325, a particular AP-leaf node link 430 was detected as valid (or sufficiently valid) within that calibration period 420. The assignment of supplementary suitability assessments to valid AP-leaf node links (e.g., PASS 470b, NOISY 470c, and SLEEP 470d, although other suitability assessments 570 are also available as described in Figure 5) is explained in Figure 5. For example, as explained in determination 520 shown in Figure 5, when the existence information metric 325 for an AP-leaf node link exceeds a certain threshold during the calibration period 420 (e.g., existence metric 325 ≥ PRES_THRES(0.9)), the leaf node is marked as existing or valid. In this example, the existence information metric 325 is a value between 0 and 60, and therefore, based on the 90% threshold, an AP-leaf node link 430 with an existence information metric 325 of 54 or higher during the calibration period 420 is determined to be valid (or sufficiently valid), while an AP-leaf node link is determined to be invalid (or sufficiently valid) if this value is less than 54 during the calibration period 420.The threshold can be adjusted, and in some cases, it can be determined that a leaf node exists / is active for a smaller or larger time percentage within the calibration window 410. In this example, each calibration period 420 is 1 hour, and the calibration window 410 is 5 hours, i.e., there are 5 calibration reports 420 to examine for each AP-leaf node link 430. In one implementation, each AP-leaf node link 430 is assigned a number of points 450 within the calibration window 410. In some cases, these points are assigned based on whether the presence activity of the AP-leaf node link 430 exceeded the presence threshold within each calibration period 420. In the illustrated example, the total points 450 for each AP-leaf node link 430 are derived by adding the points during each highlighted calibration period 420 within the calibration window 410.
[0035] In this example, points 450 are assigned to the AP-leaf node link 430 within each calibration period 420 of the calibration window 410. In this example, if the AP-leaf node link 430 is determined to be "inactive" during the calibration period 420 (for example, the "inactive" link is not highlighted and is gray in Figure 4), it is assigned 0 points, or if the AP-leaf node link 430 is determined to be "active" during the calibration period 420 (for example, the "active" link is highlighted in Figure 4), it is assigned 1 point. However, other implementations may assign values other than 0 or 1 to represent the presence or absence of activity. As mentioned earlier, the presence activity of an AP-leaf node link can be determined in the determination box 520, which is described below in Figure 5.
[0036] Returning to the step of calculating points 450 in Table 480, 1 point is assigned to AP0-Leaf 0 during each of the highlighted 1-hour calibration periods 420 (e.g., during the most recent calibration periods 0h, 1h, 2h, and 3h for which statistics about the link are available), and 0 points are assigned for the unhighlighted 1-hour calibration period (e.g., calibration period 4h for which data about the link is not available), for a total of 4 points shown in Table 480. In some cases, an AP-Leaf node link 430 may have no available data during any calibration period; for example, AP0-Leaf 1 has no data available and is assigned a total of 450 points with 0 points in Table 480. In some cases, the total assigned points 450 assigned to an AP-Leaf node link 430 during the calibration window 410 provide an indicator of the AP-Leaf node link's activity level, and in some cases, can further indicate whether the leaf node is a fixed leaf node or a moving leaf node. However, in at least some situations, points alone may not be sufficient to confidently determine whether a leaf node is stationary or mobile.
[0037] In some implementations, the total points 450 for an AP-leaf node link 430 are an indicator of activity, but do not indicate when data was collected within each calibration period 420, and therefore when the link 430 was last active. For example, calibration events can be initiated once a day or every 24 hours, meaning that for an AP-leaf node link, there are 24 possible 1-hour network status reports 310 to select for a calibration window, where "0h" is the most recent network status report and "23h" is the oldest network status report. In the example shown in Figure 4, the calibration window is 5 hours, and therefore 5 network status reports 310 for calibration periods will be selected for each AP-leaf node link. The most recent calibration period 420 for which data is available within the network status report 310 is the first report for each AP-leaf node link, and the four preceding calibration periods will be used to complete the dataset for the 5-hour calibration window 410. For example, link pairs 430 of AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0 were last active within the most recent calibration period, e.g., "0h", while AP1-Leaf1 was last active within the sixth oldest calibration period, "5h". AP2-Leaf1 430 was last active within the 16th and 17th newest calibration periods, "15h" and "16h", respectively, but data is not available between the three even older calibration periods; therefore, for illustrative purposes, these periods 430 are represented as the even older calibration period "17h" and are shown in gray.
[0038] In some cases, if the latest presence information metric 325 for AP-leaf node link 430 is outdated, the presence activity information for link 430 is also outdated, thereby reducing the validity of this information when determining whether the leaf node is fixed or mobile. In some cases, a range value of 460 is used as an indicator of the age of presence activity data. For example, the presence activity data for AP0-leaf 0 shown in Figure 4 was collected over the last four hours (e.g., 0h, 1h, 2h, and 3h). On the other hand, the latest presence activity for AP1-leaf 1 was collected 6-10 hours ago (e.g., 5h, 6h, 7h, 8h, and 9h), indicating that data was not available during the last 0-5 hours. The data for AP2-leaf 1 was collected even earlier (e.g., 15h and 16h), indicating that data was not available during the last 0-14 hours.
[0039] In one implementation, the range 460 for an AP-leaf node link is determined by its relative age to the most recent calibration period 420 for which data is available for use within the calibration window 410. For example, referring to Table 480, the most recent calibration period is "0h", and therefore the range for AP0-leaf 0 is 0h to 3h or 4, the range for AP1-leaf 1 is 0h to 9h or 10, and the range for AP2-leaf 1 is 0h to 16h or 17. Table 480 illustrates the range 460 for each AP-leaf node link. In this case, the range 460 information can be used together with the existing activity points 450 to identify whether the link is fixed or mobile.
[0040] In cases where the calibration window shifts to accept results and statistics for the next calibration period, the score of 440 and points of 450 for the AP-leaf node link will remain unchanged unless there is an additional activity report for that AP-leaf node link. Referring again to AP2-leaf1, the score of 440 and points of 450 will remain unchanged during the subsequent time period from 0h to 14h. However, range 460 will increase by 1 for each subsequent calibration period in which there is no activity on this AP-leaf node link. In this case, the increase in the value of range 460 reduces the validity of the historical data for this AP-leaf node link, but at the same time, it provides further context regarding whether this leaf node is moving or stationary.
[0041] In one implementation, a leaf node is determined to be stationary if the number of activity points (450) across all links of that leaf node is equal to the range 460. In the example shown in Table 480, each of the link pairs AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0 has 450 points, which is equal to the range 460. In this case, since all 450 points of the link of Leaf0 are equal to the range 460 of that link, Leaf0 can be identified as a stationary leaf node. In some cases, a leaf node may not have confirmed links with all available APs (e.g., data for AP0-Leaf1 is not available). In this situation, only links with available data will be used to determine whether a leaf node is stationary or mobile, and links without data (e.g., range 460 is equal to 0) will be ignored. In some cases, other (further or different) criteria can be used to determine whether a leaf node is stationary.
[0042] In one implementation, when a leaf node, for example leaf 0, is determined to be a stationary leaf node, the motion detection system adds this node as a sounding response node. However, when a leaf node is determined to be a moving node, the motion detection system removes (does not add) this leaf node as a sounding response node. For example, AP0 can perform sounding and select leaf 0 to use the resulting data for motion detection, while leaf 1 appears to be moving based on the exemplary data shown in Table 480, and therefore AP0 can decide not to use leaf 1 for motion detection.
[0043] In some implementations, the motion detection system classifies the quality of each AP-leaf node link by determining a score 440 (also referred to herein as the “health score”) for each link, as shown in Table 480. For example, each AP-leaf node link may be assigned a value based on the link quality data in each network status report 310 during each calibration period 420. In the example shown in Figure 4, the score 440 for each AP-leaf node link is calculated by summing the link quality values for each calibration period 420 across the entire calibration window 410 for the AP-leaf node link. In some cases, the link quality values are assigned as described in Figure 5. In the example shown in Figure 4, link quality is high when the score is high. However, in other implementations, other values may be assigned to represent link quality, and the score may be calculated in a different way, for example, a low score may represent high quality. In Figure 4, AP-leaf node links are ranked according to their quality score 440. In some cases, only the score 440 of leaf nodes identified as stationary is analyzed. For example, Leaf 0 is identified as a quiescent leaf node, and the AP0-Leaf 0 link pair has the highest score, indicating that this link has the best quality, surpassing AP1-Leaf 0 and AP2-Leaf 0. In some cases, AP0 will add leaf node Leaf 0 as a sounding response node, or Leaf 0 is already a sounding response node and AP0 will keep it as such. In this example, Leaf 1 is identified as a quiescent node and therefore its score is not considered.
[0044] Figure 5 is a flowchart illustrating an exemplary process 500 for classifying AP-leaf node links. In some implementations, the classification process 500 is performed for each AP-leaf node link within each calibration period 420, for example, when aggregating statistics as described in Figure 3. In this example, there are several possible categories for the calibration result 560 (e.g., NOT_SOUNDED (no sounding performed), NOT_PRESENT (absent), SLEEPING (sleeping), PASS (passed), NOISY (high noise), faulty, no data), although in some cases more or fewer categories can be used to classify leaf nodes. Each calibration result 560 is accompanied by a weight number based on how desirable the leaf node is in terms of sounding priority. The weight numbers are summed across the calibration window to derive a score (e.g., a score 440 shown in Table 480 in Figure 4). In some cases, a negative score indicates that sounding that leaf node is undesirable, while a positive score indicates that sounding that leaf node is considered to contribute effectively to the performance of the motion detection system. In some cases, leaf nodes are ranked according to a priority based on the magnitude of their scores, for example, from highest to lowest.
[0045] In the exemplary process 500, a score is determined for each AP-leaf node link using statistics aggregated for each AP-leaf node link during each calibration period 420. In 510, leaf nodes that were omitted in a particular time (e.g., calibration period), for example, those not selected by the AP for sounding, are classified as NOT_SOUNDED (not sounded) 560a and assigned a baseline value of 570a (e.g., +0.25 points). If a device has been sounded by the AP, in 520 it is determined whether the device was sufficiently present (e.g., communicated sufficiently) during the calibration period 420. In some implementations, whether the presence of an AP-leaf node link exceeds a presence threshold can be determined using, for example, the presence information metric 325 shown in Figure 3. In this example, the presence threshold PRES_THRES is set to 0.9, indicating that link 430 must be active for at least 90% of the calibration period 420. In some cases, the presence of a leaf node indicates whether the motion detection system has enough information to properly analyze the link during the calibration period, and is represented by a presence threshold. In this example, at 520, the presence of a device that does not meet the presence threshold during the calibration period is classified as NOT_PRESENT (absence) 560b, and is assigned a value of 570b (e.g., 0 points) indicating that the AP-leaf node link was not entirely present during the calibration period 420.
[0046] When a leaf node meets or exceeds the presence threshold, it is determined in 530 whether the device is in sleep mode. In one implementation, the sounding success metric 326 (represented as "prate" in Figure 5) and the sounding failure metric 327 (represented as "frate" in Figure 5), as described in Figure 3, are added together, and the result is evaluated against the sleep threshold SLEEP_THRES. If the result is lower than the sleep threshold, the device is determined to be in sleep mode. In this example, the sleep threshold SLEEP_THRES is set to 0.95, but other values can be used. If the result is lower than the sleep threshold during the calibration period, the leaf node is classified as SLEEPING 560c and assigned a value of 570c (e.g., -1 point) to indicate that the AP-leaf node link was in sleep mode during the calibration period 420.
[0047] When a leaf node is not sleeping, for example, when the sleep threshold is met or exceeded, then at 540, it is determined whether the device successfully performed a sounding response during the calibration window. In one implementation, a sounding success metric 326 (e.g., prate) is evaluated against the pass threshold GOOD_THRES. If "prate" is higher than the pass threshold, the device is determined to have successfully performed a sounding response during the calibration period. In this example, the pass threshold GOOD_THRES is set to 0.85. If "prate" is higher than the pass threshold during the calibration period, the leaf node is classified as PASS 560d and assigned a value 570d (e.g., +1 point) indicating that the AP-leaf node link successfully performed a sounding response during the calibration period 420.
[0048] When a leaf node does not meet the pass threshold, it is determined at 550 whether the device successfully performed a sounding response during the calibration period 420, but with interference and / or noise. In one implementation, a sounding success metric 326 ("prate") is evaluated against the lower pass threshold OK_THRES for successful sounding during the calibration period. If "prate" is higher than the lower pass threshold OK_THRES, it is determined that the device successfully performed a sounding response during the calibration period. In this example, the pass threshold OK_THRES is set to 0.75, which is a lower quality than GOOD_THRES. If "prate" was higher than the lower pass threshold during the calibration period, the leaf node is classified as NOISY (high noise) 560e and assigned a value of 570e (e.g., +.5 points) to indicate that the AP-leaf node link successfully performed a sounding response during the calibration period but was high noise.
[0049] When a leaf node does not meet the lower pass threshold OK_THRES, it is determined at 550 that the device is not sounding correctly. For example, if "prate" was lower than the lower pass threshold during the calibration period, the leaf node is classified as failing 560f and assigned a value of 570f (e.g., -1 point) indicating that the AP-leaf node link failed during the calibration period. If there is no historical data available for the leaf node during the calibration period, the AP-leaf node link is classified as no data 560g and assigned a default value of 570g (e.g., +.25).
[0050] In some implementations, after performing the exemplary process 500, each AP-leaf node link within each calibration period 420 of the calibration window 410 is classified and assigned a score in terms of link quality. In some cases, the points assigned to the links during each calibration period 420 are added up across the entire calibration window 410 to derive a score, for example, score 440 in Table 480 shown in Figure 4. In some cases, the scores of fixed leaf nodes can be used to rank each of its AP-leaf node links, prioritizing which links will provide the best quality sounding response data to the motion detection system.
[0051] Figure 6 is a block diagram illustrating an example of a closed-loop control flow 600 for updating leaf nodes within a motion detection system. In some implementations, the exemplary control flow 600 is performed by the motion detection system. In some cases, the exemplary control flow 600 can be performed by a single AP within the motion detection system, by one of several APs within the motion detection system, or by a separate server using data reported by a designated AP within the motion detection system. In some cases, process 600 is performed for each AP, and each AP selects the leaf node to be used for motion detection. In this exemplary process 600, network status is reported every minute, and the calibration interval is every hour (as described, for example, in Figure 3). Other calibration intervals and network reporting intervals can be used.
[0052] At 610, the motion detection system waits for the system to enter monitor status to acquire network status for each AP. At 615, it is determined whether the calibration period is complete by checking whether the current calibration period is the next calibration period, for example, the following time. Once one hour has elapsed and calibration period 420 is complete, at 620, a calibration event is performed to aggregate statistics for each AP-leaf node link (as described in Figures 3 and 4, for example). At 625, each AP-leaf node link is scored based on the history window. In this example, the history window contains data and scores for each AP-leaf node link during the most recent 72 calibration periods.
[0053] In step 630, stationary leaf nodes are selected for sounding. For example, the motion detection system selects the maximum number of leaf nodes to sound per AP (e.g., expressed as MAX_LEAFS_PER_AP=2) from the stationary leaf nodes identified for the most recent calibration event. In some implementations, leaf nodes are selected based on a score of 440 for each leaf node, as described in Figure 4. In some cases, the location of the leaf node is used in combination with the score of 440. For example, if a stationary leaf node is proven to be suitable for sounding by obtaining the lowest score, this stationary leaf node may in some cases become the location of its own localizer result, for example, the location of detected motion can be identified as the location of the stationary leaf node. In some cases, this selection can be provided by a motion detection application on the user's smartphone, for example, by sending an event to the user interface of the user's device. If the user provides the location of a stationary leaf via the user interface, the selection of stationary leaf nodes for sounding can be biased based on the uniqueness of the leaf node location. In one example, if a unique location has a single leaf whose quality is considered "ok," sounding that leaf node will yield better movement results than sounding two "good" leaves within a single zone.
[0054] After the maximum number of leaf nodes have been selected for each AP, at 635 it is determined whether at least one of the leaf node candidates is a newly identified quiescent leaf node with a link quality exceeding the minimum link quality score (e.g., SCORE_THRES). An example of a score for each AP-leaf node link is illustrated in Figure 4 (e.g., score 440 in Table 480). In some cases, no leaf nodes meet the quality score criteria, in which case at 660 the accumulator is reset (e.g., score 440, point 450, and range 460 as shown in Figure 4), and at 665 the total statistics for the just completed calibration period are updated for all AP-leaf node links, including presence, sounding success rate ("prate"), sounding failure rate ("frate"), and any other link statistics being tracked, such as mean RSSI and motion detection failure rate. After the accumulator has been updated, at 610 the system waits to receive the next status report.
[0055] In some implementations, at 640, it is determined whether a wide-area static leaf cooldown process is enabled when a new static leaf node is identified that exceeds the minimum quality score. For example, a motion detection system may specify a time (i.e., a cooldown period) during which it cannot add a new leaf node to the motion detection system. In some cases, a static leaf cooldown period can be implemented to provide stability to the system and prevent repeated in-and-out of newly selected static leaf nodes. In one example, the cooldown period can be 24 hours. If a cooldown period is enabled, the process proceeds to 660, where the accumulator is reset, the statistics for the calibration period are updated at 665, and the system waits to receive the next status report at 610.
[0056] In cases where a cooldown period is not applicable, a new stationary leaf node can be added to the motion detection system. In this case, at 645, an event is generated reporting the newly identified and selected stationary leaf node. For example, the motion detection system may generate a "ZoneCreatedEvent" to report the new stationary leaf node, associating this leaf node and its sounding response data with a specific motion zone. As described above, the opportunity to create a new zone is provided to the user via the user interface. In some cases, at 650, the new stationary leaf node is marked as a potential unique localizer zone, depending, for example, whether the user indicates the new zone via the user interface.
[0057] After a new leaf node is selected for sounding, the cooldown timer is started at 655, or reset if it is still running. In this example, the cooldown timer MIN_LEAF_INTERVAL is set to 24 hours, so that no newly identified fixed leaf nodes can be added during this time. The process then proceeds to 660, where the accumulator is reset, the statistics for the calibration period are updated at 665, and the system waits to receive the next status report at 610. If the calibration period is not complete at 615 (e.g., no 1-hour network status report is received), the statistics for the most recent calibration period are updated at 665, and the system waits to receive the next status report at 610.
[0058] Figure 7 is a block diagram illustrating an exemplary process for a fixed leaf node disconnection event. For example, a fixed leaf node used for sounding by an AP within a motion detection system may lose connectivity to the AP, for example, if the device is disconnected from the network, loses power, is moved outside the area, and so on. This exemplary process 700 is performed when the AP receives a link disconnection event at 710, indicating that the fixed leaf node is no longer communicating with the AP. In some implementations, at 720, the system determines whether the AP has at least one other fixed leaf node with a positive quality score (e.g., score 440 as shown in Figure 4). If so, at 730, the AP is instructed to immediately begin sounding for the highest-scoring fixed leaf node candidate available. Otherwise, at 740, the AP takes no action to replace the fixed leaf node at this point.
[0059] Figure 8 is a block diagram illustrating an exemplary process for a leaf node connection event. In some implementations, this process 800 is performed at 810 when the AP receives a link connection event indicating that an AP-leaf node link has been established. The AP may detect the connection event at some point. In some implementations, at 820, it is determined whether the AP has any prior historical data associated with this new link within the last 24 hours, such as existence metric 325 and quality statistics 326-329. If historical data for the AP-leaf node link is unavailable, at 850, the past history across the calibration window is set to a default value, for example, NO_DATA. An example of this default setting is shown in Figure 4 with a gray box for a specific AP-leaf node link 430 within a particular calibration period 420, for example, AP0-Leaf1 has no prior historical data, and therefore each calibration period within the calibration window is set to "No Data" by default. At 860, the determination of whether the leaf node will be used for sounding is postponed until the next calibration period (as explained, for example, in Figure 6). Conversely, if a history of the AP-leaf node link is available, at 830, if the AP-leaf node link has a positive quality score (e.g., score 440 as shown in Figure 4) and the AP is currently sounding fewer than its maximum number of leaf nodes (e.g., MAX_LEAFS_PER_AP<2), then at 840, the AP will immediately begin sounding the leaf nodes. In other cases where the AP has already sounded the maximum number of leaf nodes, at 860, the determination of whether the leaf node will be used for sounding is postponed until the next calibration period (as explained, for example, in Figure 7).
[0060] Figure 9 is a block diagram illustrating an exemplary process 900 for identifying a stationary leaf node. In some cases, one or more of the actions shown in Figure 9 are implemented as a process that includes multiple actions, subprocesses, or other types of routines. In some cases, the actions can be combined, performed in a different order, performed in parallel, repeated or separately, or performed in a different manner.
[0061] In 910, existence information is acquired for multiple calibration periods of multiple AP-leaf node links. As explained in Figures 3 and 4, existence information within a calibration period refers to the number of calibration periods during which the AP-leaf node link is active.
[0062] In some implementations, a leaf node can be associated with a link to one or more APs. In some cases, existence information such as existence information 325, as described in Figure 3, represents or includes data indicating the number of times an AP-leaf node link is active within a calibration period (e.g., one hour or other time interval) in the motion detection system. In some cases, an AP is a hub for the motion detection system, and the AP obtains reports (e.g., network reports, as described in Figure 3) from one or more other APs in the motion detection system (e.g., AP node 1210, as described in Figure 2) that include existence information for each of the other AP-leaf node links.
[0063] In 920, the presence activity of each AP-leaf node link is determined based on its respective presence information. In some cases, an AP-leaf node link is determined to be present or active when its presence information, e.g., presence information 325, exceeds a presence threshold for the calibration period during the calibration period. For example, when an AP-leaf node link is active for a certain percentage of time within the calibration period (e.g., presence information ≥ PRES_THRES (e.g., 9.0) in the determination box 520 shown in Figure 5), the AP-leaf node link is determined to have sufficient presence activity to be considered present or active during this calibration period (e.g., AP-leaf node link 430, which is determined to be present or active during the calibration period 420, is highlighted in Figure 4).
[0064] In 930, quiescent leaf nodes are identified based on the presence activity of multiple AP-leaf node links within the calibration window. In one implementation, an AP-leaf node link is determined to be quiescent when it is present for multiple calibration periods equal to a range of calibration periods (e.g., a range 460 for AP0-leaf 0, AP1-leaf 0, and AP2-leaf 0 as illustrated in Figure 4). For example, the presence activity of an AP-leaf node link is determined by calculating points 450 for each AP-leaf node link across the calibration window, as described in Figure 4.
[0065] In step 940, the motion detection system is updated to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection. Subsequently, the motion detection system can obtain channel information (e.g., channel response information, beamforming state information, etc.) to or from the sounding response node for use in motion detection.
[0066] In some implementations, one of the identified stationary leaf nodes is selected to be added to the motion detection system as a sounding response node, and a zone creation event is sent to the user for the selected stationary leaf node. In some cases, a unique local zone associated with the selected stationary leaf node is marked. In some cases, stationary leaf nodes are selected by deriving a link quality score for each stationary AP-leaf node link in a calibration window (e.g., assigning a score for each calibration period in Figure 5 and summing them up between calibration windows in the table shown in Figure 4). In some cases, stationary AP-leaf node links are prioritized according to their respective link quality scores, and the stationary leaf node with the stationary AP-leaf node link with the highest link quality score (e.g., AP0-Leaf0 shown in Figure 4) is selected. In some implementations, based on the link quality score and location of the identified stationary leaf nodes, the maximum number of leaf nodes per AP are selected to sound during the next time interval. In some cases, the static leaf node timer is started after the motion detection system is updated to use at least one of the static leaf nodes identified in the motion detection system as a sounding response node (wide-area static leaf cooldown, as explained in Figure 6).
[0067] Figure 10 is a block diagram showing an exemplary process 1000 for classifying the link quality of stationary leaf nodes. In some cases, one or more of the actions shown in Figure 9 are implemented as a process that includes multiple actions, subprocesses, or other types of routines. In some cases, the actions can be combined, performed in a different order, performed in parallel, repeated or separately, or performed in a different manner.
[0068] In 1010, stationary leaf nodes are identified based on the presence activity of each leaf node within the calibration window. In some cases, stationary leaf nodes can be identified using the process described in Figures 3-4 and / or Figure 9.
[0069] In 1020, a health score is determined for each AP-leaf node link of each stationary leaf node in each calibration window based on AP-leaf node link quality information. AP-leaf node link quality information can include the success rate of sounding operations during the calibration period and the failure rate of sounding operations during the calibration period, as described in Figures 3 to 5. In some cases, AP-leaf node link quality information can include the average link received signal strength indicator (RSSI) and the motion detection failure rate. In some implementations, the step of determining the health score can include assigning a classification to each AP-leaf node link based on the link quality information of each AP-leaf node link in each of the multiple calibration periods. In some cases, the classification indicates that the link quality is pass, high noise, or sleeping. Each AP-leaf node link can be assigned a value corresponding to its classification, and a health score for each AP-leaf node link is derived based on the values assigned in each of the multiple calibration periods within the calibration window (for example, as described in Figures 4 to 5). In one example, the health of an AP link is considered good when the success rate of sounding operations during the calibration period exceeds a first threshold and the failure rate of sounding operations during the calibration period falls below a second threshold. In another example, the health of an AP link is considered high noise when the success rate of sounding operations during the calibration period falls below a third threshold and the failure rate of sounding operations during the calibration period exceeds a fourth threshold.
[0070] In 1030, one or more stationary leaf nodes to be used within the motion detection system are selected based on the health score of each AP-leaf node link. In some cases, AP-leaf node links with negative health scores are disabled and therefore not considered during the selection of stationary leaf nodes. In some cases, AP-leaf node links with positive health scores are prioritized along with other AP-leaf node links with positive health scores. In some implementations, the stationary leaf node with the highest AP-leaf node link health score is selected for use in sounding by the motion detection system.
[0071] In 1040, the motion detection system is updated to use one or more selected stationary leaf nodes for motion detection. In some cases, the motion detection system is updated by determining that it has made it possible to add a new leaf node in that instance. Subsequently, a zone creation event for the selected stationary leaf node is sent to the user (e.g., to the user device). In some implementations, the selected leaf node is marked as a unique local zone. In some implementations, the AP obtains existence and link quality information for multiple AP-leaf node links over multiple calibration periods and initiates a calibration event for the calibration window. In some cases, the AP is a hub to the motion detection system, and the AP obtains reports from one or more other APs in the motion detection system, including existence and link quality information for each of the other AP-leaf node links.
[0072] Figure 11 is a block diagram of an exemplary wireless communication device 1100. As shown in Figure 11, the exemplary wireless communication device 1100 includes an interface 1130, a processor 1110, a memory 1120, and a power supply unit 1140. For example, any of the wireless communication devices 102A, 102B, and 102C in the wireless communication system 1100 illustrated in Figure 1 may include the same, additional, or different components, which may be configured to operate as shown in Figure 1 or in a different manner. In some cases, the exemplary wireless communication device may be configured as an access port (AP) or hub in a mesh network with multiple APs. In some implementations, the interface 1130, processor 1110, memory 1120, and power supply unit 1140 of the wireless communication device are housed together in a common housing or other assembly. In some implementations, one or more of the components of the wireless communication device may be housed separately, for example, in separate housings or other assemblies.
[0073] The exemplary interface 1130 can communicate (receive, transmit, or both) radio signals. For example, interface 1130 can be configured to communicate radio frequency (RF) signals formatted according to a wireless communication standard (e.g., Wi-Fi or Bluetooth). In some cases, the exemplary interface 1130 can be implemented as a modem. In some implementations, the exemplary interface 1130 includes a radio subsystem and a baseband subsystem. In some cases, the radio subsystem and the baseband subsystem can be implemented on a common chip or chipset, or in a card or another type of assembled device. The baseband subsystem can be coupled to the radio subsystem by leads, pins, wires, or other types of connectors.
[0074] In some cases, the radio subsystem within interface 1130 may include one or more antennas and radio frequency circuits. The radio frequency circuits may include, for example, circuits for filtering, amplifying, or separately adjusting analog signals, circuits for upconverting baseband signals to RF signals, circuits for downconverting RF signals to baseband signals, etc. Such circuits may include, for example, filters, amplifiers, mixers, local oscillators, etc. The radio subsystem can be configured to communicate radio frequency radio signals over a radio communication channel. As an example, the radio subsystem may include a radio chip, an RF front end, and one or more antennas. The radio subsystem may include further or different components. In some implementations, the radio subsystem may be, or include, radio electronic equipment (e.g., RF front end, radio chip, or analog components) from conventional modems, such as Wi-Fi modems or pico base station modems. In some implementations, the antennas may include multiple antennas.
[0075] In some cases, the baseband subsystem within interface 1130 may include, for example, digital electronic equipment configured to process digital baseband data. For example, the baseband subsystem may include a baseband chip. The baseband subsystem may include further or different components. In some cases, the baseband subsystem may include a digital signal processor (DSP) device or another type of processor device. In some cases, the baseband system includes digital processing logic for operating a radio subsystem, communicating radio network traffic through the radio subsystem, detecting motion based on motion detection signals received through the radio subsystem, or performing other types of processes. For example, the baseband subsystem may include one or more chips, chipsets, or other types of devices configured to encode signals and deliver them to the radio subsystem for transmission, or to identify and parse encoded data within signals from the radio subsystem (e.g., by decoding signals according to radio communication standards, processing signals according to motion detection processes, or in other ways).
[0076] In some cases, the exemplary interface 1130 can communicate wireless network traffic (e.g., data packets including network reports as described in Figure 3) and other types of signals (e.g., motion detection signals such as sounding signals). In some cases, interface 1130 generates motion detection signals for transmission to explore space and detect motion or lack thereof. In some implementations, the motion detection signal includes a standard signal transmission frame or communication frame that includes a standard pilot signal used in channel sounding (e.g., channel sounding for beamforming according to the IEEE 802.11ac-2013 standard). In some cases, the motion detection signal includes a reference signal known to all devices in the network. In some cases, the baseband subsystem can process the received signal to detect connection and disconnection events from leaf nodes, detect presence activity, and detect motion of objects in space. For example, interface 1130 can analyze a standard signaling protocol (e.g., channel sounding for beamforming according to the IEEE 802.11ac-2013 standard based on a steering matrix or other generation matrix, etc.) to detect channel changes as a result of motion in space.
[0077] The exemplary processor 1110 can, for example, execute instructions to generate output data based on data input. Instructions may include code, scripts, modules, or other types of data stored in memory 1120, for example, database 1140. Additionally or alternatively, instructions may be encoded as pre-programmed or reprogrammable logic circuits, logic gates, or other types of hardware or firmware components or modules. The processor 1110 may be, or include, a general-purpose microprocessor, a dedicated coprocessor, or other types of data processing equipment. In some cases, the processor 1110 performs high-level operations of the wireless communication device 1100. For example, the processor 1110 may be configured to execute or interpret software, scripts, programs, modules, functions, executable files, or other instructions stored in memory 1120. In some implementations, the processor 1110 is contained within interface 630.
[0078] The exemplary memory 1120 may include computer-readable storage media, such as volatile memory devices, non-volatile memory devices, or both. The memory 1120 may include one or more read-only memory devices, random-access memory devices, buffer memory devices, or combinations of these and other types of memory devices. In some cases, one or more components of the memory may be integrated with or separately associated with other components of the wireless communication device 1100. The memory 1120 may store instructions that can be executed by the processor 610. For example, the instructions may include instructions for the exemplary wireless communication device 1100 (e.g., AP) to obtain presence information for multiple AP-leaf node links over multiple calibration periods. When executed, the instructions may cause the device to determine the presence activity for each AP-leaf node link within each calibration period based on its respective presence information, and to identify quiescent leaf nodes based on the presence activity for multiple AP-leaf node links within a calibration window that includes multiple calibration periods. The instructions may further update the motion detection system to use at least one of the stationary leaf nodes identified by one or more of the operations described in Figures 3 to 5 or in the exemplary process 900 described in Figure 9 as a sounding response node for motion detection. In another example, the instructions may include instructions for an exemplary wireless communication device 1100 (e.g., AP) to identify one or more stationary leaf nodes based on the presence activity of each leaf node in a calibration window comprising multiple calibration periods. The instructions may further cause the device to determine a health score for each AP-leaf node link of each stationary leaf node in each calibration window based on AP-leaf node link quality information, and to select one or more of the stationary leaf nodes to be used for sounding in the motion detection system based on the health score for each AP-leaf node link.Furthermore, the instructions can cause the device to update the motion detection system to use one or more stationary leaf nodes selected for motion detection, for example, by one or more of the operations described in Figures 3 to 5, or in the exemplary process 1000 described in Figure 10. In some cases, memory 1120 may include one or more instruction sets or modules containing the instructions described above, for example, one for identifying stationary leaf nodes 1122, one for selecting stationary leaf nodes 1124, and / or one for updating new leaf nodes in the motion detection system 1126.
[0079] The exemplary power supply unit 1140 supplies power to other components of the wireless communication device 1100. For example, the other components may operate based on the power supplied by the power supply unit 1140 through a voltage bus or other connections. In some implementations, the power supply unit 1140 includes a battery or battery system, such as a rechargeable battery. In some implementations, the power supply unit 1140 includes an adapter (e.g., an AC adapter) that receives an external power signal (from an external power source) and converts it into an internal power signal adjusted to suit the components of the wireless communication device 1100. The power supply unit 1140 may include other components or operate in a different manner.
[0080] Some of the subjects and operations described herein can be implemented in digital electronic circuits, computer software, firmware, or hardware, or in combination of one or more of these, including structures and their structural equivalents disclosed herein. Some of the subjects described herein can be implemented as one or more modules of one or more computer programs, i.e., computer program instructions, encoded on a computer storage medium for execution by a data processing device or for controlling the operation of such device. The computer storage medium can be a computer-readable storage device, a computer-readable storage board, a random-access or serial-access memory array or memory device, or in combination of one or more of these, or can be included in these. Furthermore, the computer storage medium can be the source or destination of computer program instructions encoded in artificially generated propagated signals, although the computer storage medium is not a propagated signal itself. The computer storage medium can be one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices), or can be included in such.
[0081] Some of the operations described herein can be implemented as operations performed by a data processing device on data stored on one or more computer-readable storage devices or received from other sources.
[0082] A computer program (also known as a program, software, software application, script, or code) can be written in any form of a programming language, including compiled or interpreted languages, declarative or procedural languages, and can be 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 may, but may not, correspond to a file in a file system. A program may be stored in a single file of its own or in a part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document) in a group of interconnected files (e.g., a file that stores one or more modules, subprograms, or parts of code). A computer program may be deployed to run on one computer, or on multiple computers located in one place or distributed across multiple locations and interconnected by a communication network.
[0083] Some of the processes and logic flows described herein can be implemented by one or more programmable processors that perform actions by executing one or more computer programs, acting on input data, and generating outputs. The processes and logic flows can be implemented by dedicated logic circuits, such as FPGAs (Field Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits), or devices can be implemented as such.
[0084] Processors suitable for executing computer programs include, for example, both general-purpose and dedicated microprocessors and processors of any type of digital computer. Generally, a processor will receive instructions and data from read-only memory, random-access memory, or both. The elements of a computer may include a processor that performs actions according to instructions and one or more memory devices that store instructions and data. A computer may also include one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or may be operablely coupled to receive data from them, transfer data to them, or both. However, a computer is not required to have such devices. Furthermore, a computer may be embedded in another device, such as a telephone, electronic device, audio or video mobile player, game console, Global Positioning System (GPS) receiver, or portable storage device (e.g., Universal Serial Bus (USB), flash drive). Devices suitable for storing computer program instructions and data include, for example, all forms of non-volatile memory, media, and memory devices, including semiconductor memory devices (e.g., EPROM, EEPROM, flash memory devices, and others), magnetic disks (e.g., internal hard disks, removable disks, and others), magneto-optical disks, and CD-ROM and DVD-ROM disks. In some cases, the processor and memory may be assisted by or incorporated into dedicated logic circuits.
[0085] To enable interaction with the user, the operation can be implemented on a computer having a display device (e.g., a monitor or another 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 another type of pointing device) that allows the user to provide input to the computer. Other types of devices can also be used to enable interaction with the user; for example, feedback given to the user can be in the form of sensory feedback, such as visual feedback, auditory feedback, or haptic feedback, and input from the user can be received in the form of acoustic input, speech input, or haptic input. In addition, the computer can interact with the user by sending documents to a device used by the user and receiving documents from this device, for example, by sending web pages to a web browser on the user's client device in response to requests received from that web browser.
[0086] A computer system can include a single computing device or multiple computers operating near or generally far from each other and generally communicating through a communication network. Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), interconnected networks (e.g., the Internet), networks including satellite links, and peer-to-peer networks (e.g., ad-hoc peer-to-peer networks). Client-server relationships can arise from computer programs running on each computer that have client-server relationships with each other.
[0087] In a general embodiment of the examples described herein, the motion detection system identifies stationary leaf nodes for motion detection.
[0088] In the first example, an access point (AP) acquires presence information for multiple AP-leaf node links over multiple calibration periods. Based on the presence information for each AP-leaf node link, the presence activity for each AP-leaf node link within each calibration period is determined. Based on the presence activity for multiple AP-leaf node links within a calibration window that includes multiple calibration periods, stationary leaf nodes are identified. The motion detection system is updated to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection.
[0089] An implementation of the first example may include one or more of the following features: The step of identifying stationary leaf nodes includes identifying leaf nodes that have a fixed location. Leaf nodes are associated with one or more AP-leaf node links. Presence information includes the number of times the AP-leaf node link is active in the motion detection system during a calibration period. The step of identifying stationary leaf nodes includes determining that an AP-leaf node link is present during a calibration period when presence activity related to the AP-leaf node link exceeds a presence threshold during the calibration period, and determining that an AP-leaf node link is stationary when it is present for a number of calibration periods equal to the range of the calibration period. The step of updating the motion detection system includes selecting one of the identified stationary leaf nodes to be added to the motion detection system as a sounding response node, and marking a unique local zone associated with the selected stationary leaf node. In some cases, the step of selecting a static node includes deriving a link quality score for each static AP-leaf node link in the calibration window, prioritizing the static AP-leaf node links according to their respective link quality scores, and selecting a static leaf node having the static AP-leaf node link with the highest link quality score. The static leaf node timer is started after updating the motion detection system to use at least one of the identified static leaf nodes as a sounding response node toward the motion detection system. The AP is a hub for the motion detection system and obtains reports from one or more other APs within the motion detection system that include existence information for each of the other AP-leaf node links.
[0090] In the second example, the access point (AP) of the motion detection system identifies one or more stationary leaf nodes based on the presence activity of each leaf node within a calibration window that includes multiple calibration periods. The health score for each AP-leaf node link of each stationary leaf node in each calibration window is determined based on AP-leaf node link quality information. Based on the health score for each AP-leaf node link, one or more stationary leaf nodes to be used for sounding within the motion detection system are selected. The motion detection system is updated to use the selected one or more stationary leaf nodes for motion detection.
[0091] An implementation of the second example may include one or more of the following features: The step of identifying stationary leaf nodes includes the step of identifying leaf nodes that have a fixed location. AP-leaf node link quality information includes one or more of the following: success rate of sounding operations during the calibration period, failure rate of sounding operations during the calibration period, mean link received signal strength indicator (RSSI), and motion detection failure rate. The step of determining the health score includes assigning a classification to each AP-leaf node link based on the quality information of each AP-leaf node link in each of a plurality of calibration periods, assigning a value corresponding to the classification of each AP-leaf node link to each AP-leaf node link, and deriving a health score for each AP-leaf node link based on the assigned value. The classification indicates that the link quality is pass, high noise, or sleeping in each of a plurality of calibration periods within the calibration window. AP link health is considered good when the success rate of sounding operations during the calibration period exceeds a first threshold and the failure rate of sounding operations during the calibration period falls below a second threshold, and high noise when the success rate of sounding operations during the calibration period falls below a third threshold and the failure rate of sounding operations during the calibration period exceeds a fourth threshold. The step of selecting a static leaf node includes disabling the AP-leaf node link when the AP-leaf node link health score is negative, prioritizing this AP-leaf node link along with other AP-leaf node links with positive health scores when the AP-leaf node link health score is positive, and then selecting the static leaf node with the highest AP-leaf node link health score for use for sounding by the motion detection system. The step of updating the motion detection system includes determining that the motion detection system has enabled the addition of a new leaf node, sending a zone creation event for the selected static leaf node to the user, and marking the selected leaf node as a unique local zone. The system acquires existence and link quality information for multiple AP-leaf node links during multiple calibration periods, and initiates a calibration event in the calibration window.The AP is a hub for the motion detection system and retrieves reports from one or more other APs within the motion detection system that include presence information about each of the other AP-leaf node links.
[0092] In the third example, a non-temporary computer-readable medium stores instructions that cause the device to perform one or more operations of the first and / or second example when executed by one or more processors.
[0093] In the fourth example, a device for managing nodes in a motion detection system includes one or more processors and memory for storing instructions that cause the device to perform one or more operations of the first and / or second example when executed by the one or more processors.
[0094] This specification contains many details, but these should not be interpreted as limiting the scope of what can be claimed, but rather as descriptions of features specific to particular embodiments. Certain features described herein or shown in the drawings can be combined in separate implementation contexts. Conversely, various features described or illustrated in a single implementation context can be implemented separately or in any appropriate partial combination in multiple embodiments.
[0095] Similarly, while the diagrams show operations in a specific order, this should not be interpreted as meaning that in order or sequence, these operations must be performed in a specific order shown, or that all the illustrated operations must be performed, in order to achieve the desired result. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the implementation described above should not be interpreted as meaning that such separation is necessary in all implementations; rather, it should be understood that the described program components and systems can generally be incorporated into a single product or packaged into multiple products.
[0096] Several embodiments have been described. Nevertheless, it will be understood that various modifications can be made. Therefore, other embodiments are also within the scope of the attached claims. [Explanation of symbols]
[0097] Exemplary process for classifying 500 AP-leaf node links
Claims
1. A method for managing nodes in a motion detection system, The steps include: acquiring existence information regarding multiple AP-leaf node links, which are acquired by the access point (AP) of the motion detection system during multiple calibration periods; A step of determining the presence activity of each of the plurality of AP-leaf node links within each of the calibration periods based on the respective presence information, Steps include identifying a stationary leaf node based on the presence activity of the plurality of AP-leaf node links within a calibration window including the plurality of calibration periods, The steps include updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection, A method that includes this.
2. Each of the stationary leaf nodes identified based on the aforementioned presence activity is associated with two or more of the plurality of AP-leaf node links. The method according to claim 1.
3. The existence information indicates the number of times the AP-leaf node link is enabled in the motion detection system during the calibration period. The method according to claim 1.
4. The step of identifying a stationary leaf node based on the presence activity of the plurality of AP-leaf node links within the calibration window is: The steps include determining that the AP-leaf node link exists when the presence activity of the AP-leaf node link exceeds the presence threshold during the calibration period, The steps include determining that the AP-leaf node link is stationary when it is present for a plurality of calibration periods equal to a certain range value of the calibration period, Includes, The aforementioned range value represents the age of the existence activity data for the AP-leaf node link. The method according to any one of claims 1, 2, or 3.
5. The step of updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection is: The steps include selecting one of the identified stationary leaf nodes to add to the motion detection system as a sounding response node, The steps include sending a zone creation event to the user device with respect to the selected quiescent leaf node, The steps include marking a unique local zone associated with the selected stationary leaf node, including, The method according to claim 1.
6. The step of selecting one of the identified stationary leaf nodes to add to the motion detection system as a sounding response node is The steps include identifying the stationary AP-leaf node link associated with the identified stationary leaf node, The steps include: deriving a link quality score for each of the static AP-leaf node links in the calibration window; The steps include prioritizing the static AP-leaf node links according to their respective link quality scores, The steps include selecting the stationary leaf node having the stationary AP-leaf node link having the highest link quality score, including, The method according to claim 5.
7. The step further includes selecting the maximum number of leaf nodes per AP to sound during the next time interval, based on the link quality score and location of the identified stationary leaf nodes. The method according to claim 5.
8. The motion detection system further includes the step of updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node, and then starting a stationary leaf node timer. The method according to claim 1.
9. The AP acts as a hub for the motion detection system, and the AP obtains reports from one or more other APs in the motion detection system that include existence information regarding one or more of the plurality of AP-leaf node links. The method according to claim 1.
10. It is a device, One or more processors, When executed by the one or two or more processors, the device: The steps include obtaining existence information about multiple AP-leaf node links acquired by an access point (AP) over multiple calibration periods, and A step of determining the presence activity of each of the plurality of AP-leaf node links within each of the calibration periods based on the respective presence information, Steps include identifying a stationary leaf node based on the presence activity of the plurality of AP-leaf node links within a calibration window including the plurality of calibration periods, The steps include updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection, Memory containing instructions that cause an operation including, A device equipped with the following features.
11. Each of the stationary leaf nodes identified based on the aforementioned presence activity is associated with two or more of the plurality of AP-leaf node links. The device according to claim 10.
12. The existence information indicates the number of times the AP-leaf node link is enabled in the motion detection system during the calibration period. The device according to claim 10.
13. The step of identifying a stationary leaf node based on the presence activity of the plurality of AP-leaf node links within the calibration window is: The steps include determining that the AP-leaf node link exists if the presence activity of the AP-leaf node link exceeds the presence threshold during the calibration period, The steps include determining that the AP-leaf node link is stationary if the AP-leaf node link is present during each of the calibration periods in the calibration window, including, The device according to any one of claims 10, 11, or 12.
14. The step of updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection is: The steps include selecting one of the identified stationary leaf nodes to add to the motion detection system as a sounding response node, The steps include sending a zone creation event to the user device with respect to the selected quiescent leaf node, The steps include marking a unique local zone associated with the selected stationary leaf node, including, The device according to claim 10.
15. The step of selecting one of the identified stationary leaf nodes to add to the motion detection system as a sounding response node is The steps include identifying the stationary AP-leaf node link associated with the identified stationary leaf node, The steps include: deriving a link quality score for each of the static AP-leaf node links in the calibration window; The steps include prioritizing the static AP-leaf node links according to their respective link quality scores, The steps include selecting the stationary leaf node having the stationary AP-leaf node link having the highest link quality score, including, The device according to claim 14.
16. When executed by the aforementioned processor, the device: The system further includes instructions to perform an operation that includes the step of selecting the maximum number of leaf nodes per AP to sound during the next time interval, based on the link quality score and location of the identified quiescent leaf nodes. The device according to claim 14.
17. When executed by the one or two or more processors, the device: The motion detection system further includes an instruction to perform an operation which includes updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node, and then starting a stationary leaf node timer. The device according to claim 10.
18. The AP is configured to act as a hub for the motion detection system, and the AP obtains reports from one or more other APs in the motion detection system, including existence information for each of the plurality of AP-leaf node links. The device according to claim 10.
19. The device includes the AP, The device according to claim 10.
20. When executed by the data processing device, the data processing device: A step of obtaining existence information for multiple AP-leaf node links obtained during multiple calibration periods, A step of determining the presence activity of each of the plurality of AP-leaf node links within each of the calibration periods based on the respective presence information, Steps include identifying a stationary leaf node based on the presence activity of the plurality of AP-leaf node links within a calibration window including the plurality of calibration periods, The steps include updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection, A computer-readable medium containing instructions that cause an action to be performed.
21. Each of the stationary leaf nodes identified based on the aforementioned presence activity is associated with two or more of the plurality of AP-leaf node links. The computer-readable medium according to claim 20.
22. The aforementioned presence information indicates the number of times each AP-leaf node link is active in the motion detection system during the calibration period. The computer-readable medium according to claim 20.
23. The step of identifying a stationary leaf node based on the presence activity of the plurality of AP-leaf node links within the calibration window is: The steps include determining that the AP-leaf node link exists if the presence activity of the AP-leaf node link exceeds the presence threshold during the calibration period, The steps include determining that the AP-leaf node link is stationary if the AP-leaf node link exists for multiple calibration periods equal to a certain range value in the calibration period, Includes, The aforementioned range value represents the age of the existence activity data for the AP-leaf node link. A computer-readable medium according to any one of claims 20, 21, or 22.
24. The step of updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection is: The steps include selecting one of the identified stationary leaf nodes to add to the motion detection system as a sounding response node, The steps include sending a zone creation event to the user device with respect to the selected quiescent leaf node, The steps include marking a unique local zone associated with the selected stationary leaf node, including, The computer-readable medium according to claim 20.
25. The step of selecting one of the identified stationary leaf nodes to add to the motion detection system as a sounding response node is The steps include identifying the stationary AP-leaf node link associated with the identified stationary leaf node, The steps include: deriving a link quality score for each of the static AP-leaf node links in the calibration window; The steps include prioritizing the static AP-leaf node links according to their respective link quality scores, The steps include selecting the stationary leaf node having the stationary AP-leaf node link having the highest link quality score, including, The computer-readable medium according to claim 24.
26. The aforementioned operation, The process includes the step of selecting the maximum number of leaf nodes per access point (AP) to sound during the next time interval, based on the link quality score and location of the identified quiescent leaf nodes. The computer-readable medium according to claim 20.
27. The aforementioned operation, The motion detection system includes the step of updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node, and then starting a stationary leaf node timer. The computer-readable medium according to claim 20.
28. An access point (AP) is configured to act as a hub for the motion detection system, and the AP obtains reports from one or more other APs in the motion detection system, including presence information for each of the plurality of AP-leaf node links. The computer-readable medium according to claim 20.
Citation Information
Patent Citations
Portable terminal determining moving state on the basis of number of slots in wide area mobile communication system, program for portable terminal, and movement determination method for portable terminal
JP2009239579A
Radio base station of mobile data communication system
JP2011018966A
Identifying static leaf nodes in a motion detection system
US10499364B1
Methods for supporting mobile nodes in industrial control and automation systems and other systems and related apparatus
US20100254345A1
Detection of device motion and nearby object motion
US20140213284A1